<SEC-DOCUMENT>0001039399-23-000019.txt : 20230509
<SEC-HEADER>0001039399-23-000019.hdr.sgml : 20230509
<ACCEPTANCE-DATETIME>20230509160635
ACCESSION NUMBER:		0001039399-23-000019
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		80
CONFORMED PERIOD OF REPORT:	20230401
FILED AS OF DATE:		20230509
DATE AS OF CHANGE:		20230509

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			FORMFACTOR INC
		CENTRAL INDEX KEY:			0001039399
		STANDARD INDUSTRIAL CLASSIFICATION:	SEMICONDUCTORS & RELATED DEVICES [3674]
		IRS NUMBER:				133711155
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1230

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-50307
		FILM NUMBER:		23901940

	BUSINESS ADDRESS:	
		STREET 1:		7005 SOUTHFRONT ROAD
		CITY:			LIVERMORE
		STATE:			CA
		ZIP:			94551
		BUSINESS PHONE:		9252904000

	MAIL ADDRESS:	
		STREET 1:		7005 SOUTHFRONT ROAD
		CITY:			LIVERMORE
		STATE:			CA
		ZIP:			94551
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>form-20230401.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version="1.0" ?><!--XBRL Document Created with Wdesk from Workiva--><!--Copyright 2023 Workiva--><!--r:c6ad957d-a97c-46e4-887a-1031f6c22890,g:30d24d1d-fc82-4e4c-8008-7009469476df,d:a6fb55369a22456888fa85eea58ff384--><html xmlns="http://www.w3.org/1999/xhtml" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:form="http://www.formfactor.com/20230401" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:srt="http://fasb.org/srt/2022" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:currency="http://xbrl.sec.gov/currency/2022" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>form-20230401</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:AmendmentFlag" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80L2ZyYWc6Y2QyODQyYzRiOGY2NDM1NmJiYWU3MjA2OGQyMTU0YTEvdGFibGU6MjJhNTk3NmU4NDc0NGQ3Zjg5MzNjN2QxMDgwNzQyYjQvdGFibGVyYW5nZToyMmE1OTc2ZTg0NzQ0ZDdmODkzM2M3ZDEwODA3NDJiNF8zLTEtMS0xLTExMjg4OQ_71b3fabf-75d2-42e1-ba9a-ec27138317c3">False</ix:nonNumeric><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntityCentralIndexKey" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80L2ZyYWc6Y2QyODQyYzRiOGY2NDM1NmJiYWU3MjA2OGQyMTU0YTEvdGFibGU6MjJhNTk3NmU4NDc0NGQ3Zjg5MzNjN2QxMDgwNzQyYjQvdGFibGVyYW5nZToyMmE1OTc2ZTg0NzQ0ZDdmODkzM2M3ZDEwODA3NDJiNF80LTEtMS0xLTExMjg4OQ_d8ad3ca4-8f91-4aec-95b9-bb2fcf77c384">0001039399</ix:nonNumeric><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:CurrentFiscalYearEndDate" format="ixt:date-monthname-day-en" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80L2ZyYWc6Y2QyODQyYzRiOGY2NDM1NmJiYWU3MjA2OGQyMTU0YTEvdGFibGU6MjJhNTk3NmU4NDc0NGQ3Zjg5MzNjN2QxMDgwNzQyYjQvdGFibGVyYW5nZToyMmE1OTc2ZTg0NzQ0ZDdmODkzM2M3ZDEwODA3NDJiNF81LTEtMS0xLTExMjg4OQ_e6da79c2-a412-41c8-92dd-d5e6b6320149">December 30</ix:nonNumeric><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:DocumentFiscalYearFocus" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80L2ZyYWc6Y2QyODQyYzRiOGY2NDM1NmJiYWU3MjA2OGQyMTU0YTEvdGFibGU6MjJhNTk3NmU4NDc0NGQ3Zjg5MzNjN2QxMDgwNzQyYjQvdGFibGVyYW5nZToyMmE1OTc2ZTg0NzQ0ZDdmODkzM2M3ZDEwODA3NDJiNF82LTEtMS0xLTExMjg4OQ_a81a78be-3117-4ea9-98da-4c5a0d77b8e0">2023</ix:nonNumeric><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:DocumentFiscalPeriodFocus" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80L2ZyYWc6Y2QyODQyYzRiOGY2NDM1NmJiYWU3MjA2OGQyMTU0YTEvdGFibGU6MjJhNTk3NmU4NDc0NGQ3Zjg5MzNjN2QxMDgwNzQyYjQvdGFibGVyYW5nZToyMmE1OTc2ZTg0NzQ0ZDdmODkzM2M3ZDEwODA3NDJiNF83LTEtMS0xLTExMjg4OQ_7b126ad9-2307-454c-b3d7-b4ac531a9747">Q1</ix:nonNumeric><ix:nonNumeric contextRef="i395d9aa550624ec2bb1059db6b563618_I20230401" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83OS9mcmFnOjA2MWNlYmRkOTg0NjQ2MmZhYjI2NWQ0ZjQyMGY4MWU0L3RhYmxlOmEzOGFkMjFhN2RiODQ0ODhiMjBjOTA0MGZkN2Y4Y2JkL3RhYmxlcmFuZ2U6YTM4YWQyMWE3ZGI4NDQ4OGIyMGM5MDQwZmQ3ZjhjYmRfMS0xLTEtMS0xMTI4ODk_6f75ee67-53cb-4fb8-8fde-6d72b11eeb75">9</ix:nonNumeric><ix:nonNumeric contextRef="ice9a0c10ada145f28c2b1602c40f3b47_I20230401" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83OS9mcmFnOjA2MWNlYmRkOTg0NjQ2MmZhYjI2NWQ0ZjQyMGY4MWU0L3RhYmxlOmEzOGFkMjFhN2RiODQ0ODhiMjBjOTA0MGZkN2Y4Y2JkL3RhYmxlcmFuZ2U6YTM4YWQyMWE3ZGI4NDQ4OGIyMGM5MDQwZmQ3ZjhjYmRfMi0xLTEtMS0xMTI4ODk_c6ad5a27-eb6d-4854-ad19-18eca015fb7f">1</ix:nonNumeric><ix:nonNumeric contextRef="i1af4ba8a470444dd8b60d0cd67b6cde0_I20230401" xsi:nil="true" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83OS9mcmFnOjA2MWNlYmRkOTg0NjQ2MmZhYjI2NWQ0ZjQyMGY4MWU0L3RhYmxlOmEzOGFkMjFhN2RiODQ0ODhiMjBjOTA0MGZkN2Y4Y2JkL3RhYmxlcmFuZ2U6YTM4YWQyMWE3ZGI4NDQ4OGIyMGM5MDQwZmQ3ZjhjYmRfMy0xLTEtMS0xMTI4ODk_26bbadde-e4c7-4799-8be4-5045c87baaae"></ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="form-20230401.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0c5ca847bc4942f8847068953febbcb3_I20230503"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-05-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:context id="ie391b3e511a247a8a50597da9a583817_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:context id="iaf89c4969d754887acd078f58d431a4c_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usdPerShare"><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:context id="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibfdd3bbe15dc4d77b67345258a401fdf_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</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="if7457c88bf674d218da51ff12d357d99_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</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="ia0b25c5265654236857cbe2a2e7b32cd_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4dc93f82cce84e6bba50261ab9d65a7d_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</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="ibc5653127b5347bfad9df12716d95a7d_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</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-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8696766348834258b591a0c0a503ad84_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</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-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id0827caa636243f9a93e1409f22c88c6_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i99604a1bdfa24466bd9430eb427c76fc_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</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-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5d482f4f15f4411893349c2dc299de5e_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iaf9771bbecc24105af537b76141019f1_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie33adad870a844feaf951f8bd6b48dcc_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i16ba549c1b074ed7aee72b0292267bbb_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i250b5fcf41be4f459b62251ab366c697_I20211225"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</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-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i48394b895093473c994a274663086da9_I20211225"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</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-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if13701fdb29345fca9f27c6a7176e3fb_I20211225"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib07588f9b7764637b9e986e74b8bfddb_I20211225"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</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-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idc0595bacd8744b39dc151edbaf37cf1_I20211225"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if800aa8923954a8db5f89d6baec0295f_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9b31f17cc6c04e0583c6c0d54c6796c7_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i019e1bd941ac4ed19a49d49a659d7b15_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idbb7975ed36949279e975cc1a3966a0e_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3ff2c806e5f347c0ae00509de906fa18_I20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iaac882a5d3414c259c7fc8ecaccbf0a0_I20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i32e4c09f3f0e47188e92102334921a45_I20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ief2f47bde1ca4274a4b06dae3ef45982_I20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-03-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ided587203dc647f5ac8875e74a42a418_D20211226-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i00e80c9aa2ea4901855189b27c589d19_I20230131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie0957046a86843049088ea9ed3a1895b_D20230101-20230131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8f61c29d42d84a839dac357bdf551cbd_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:TwoMajorCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:context id="i2bd9c1713c3842a490bcbe89811f8192_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:TwoMajorCustomersMember</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-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9ce3e76bf9a74642b11ec3a276fe4c7c_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:IntelMember</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-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3fc07b2edb714033ba67ccfe55d6557c_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:IntelMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6212b6e5723c4b6f9f2ebff8a555dbdb_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:TaiwanSemiconductorManufacturingCoLTDMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5a170ac9d3ef4129a40ad5018784d390_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:CustomersRepresenting10OrMoreOfTotalRevenuesMember</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-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i83ca9c3c1a9e4b7d8082ce044500c605_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:CustomersRepresenting10OrMoreOfTotalRevenuesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia638802d47c74b66b59ed61498fab5c2_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:MajorCustomer1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib020faff8b7b483492b04e4fd5b4917f_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:MajorCustomer2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i27d2b169cc3745228e0efe2854e2a769_D20211226-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:MajorCustomer1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibba6fed22a3948b88e804a339b227c77_I20211225"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i61235faefd0344219da355b547a3a31c_I20211225"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4ee0090ed4914eb28cc6da729ef97536_D20211226-20220625"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">form:WoburnMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-06-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i86045bc3758f4f4484b5297c3bc8c0e7_D20211226-20220625"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">form:WoburnMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-06-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4da93390065c4f1399eac3c1a493d7b7_D20211226-20220625"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">form:WoburnMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-06-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idbb674e34b5d47c6a47810c486105126_D20211226-20220625"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-06-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i08dcf133ad3e4264826391d8fddac314_D20211226-20220625"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-06-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i787d2864f74147c1a8565860ffdcc26c_D20211226-20220625"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-06-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7b1436d4c3944dbfa2bc5432edeaf920_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i73cc1e79bbb7440da6ad5094c9875ff1_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6c18bf3d5fc448e58ed4984c43215955_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i053bfe5a4e704c5b922d9931322549aa_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1490b90e4b184f60afb9afb68d2263d3_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1fe2d4d1b9fd4e6e9f2a29dfb56afb2e_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifb1843046ac64a248f026149e342f005_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">form:ExistingDevelopedTechnologiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iff374ecbf3964ab8b4a146c18ee29ba8_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">form:ExistingDevelopedTechnologiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9e29c276f3ed4682beafdca282c93b22_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3707ece5481a49ada21db88d0ec7429a_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic57bd9b989644bbface3ee0cea59de3b_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5b1b8c96fc6b45fd9d75e38af2441b09_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if07f490cee574b3ebf3fee7e00987307_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6872f899bfb240559c2a9801190e591d_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i78b0bbf163f04290aa5a52fa5469e112_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if6dd5f1b0ef94564a4e3df06f5b2d467_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifc9a948ca0a44616805210608e46d25f_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0488de2642dd428e91439109c44b266c_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0958eaad30e349a884297b4aa3f8860a_D20221025-20221025"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2022RestructuringPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-25</xbrli:startDate><xbrli:endDate>2022-10-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idf707cb5d0904c859a0841754f684d0e_D20221025-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2022RestructuringPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-25</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4ae9c9dd293147e6b89a5a2d1f5dfbd4_D20221025-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:StockBasedCompensationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2022RestructuringPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-25</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="icfea74563a7d493187ff71b2baa6e2cb_D20221025-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2022RestructuringPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-25</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id3ae4b8d72074a72a5160796d7ce9573_D20221025-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2022RestructuringPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-25</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i06fbc933985b4655a9aff52944bc5af9_D20221025-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2022RestructuringPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-25</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iadc9493ef2b64363a6f9770b4ffdc77b_D20210925-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2021RestructuringPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-25</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8e8e2a9a573b43e2a5c4893efdda0854_D20210925-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2021RestructuringPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-25</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i82356ea908b04353934bc18b6d2496fd_D20210925-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2021RestructuringPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-25</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2f2445e6cc2a4500a556de88f35238c7_D20210925-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2021RestructuringPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-25</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie7c3398a457c44cda51be5ecc8994d54_D20210925-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2021RestructuringPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:ContractTerminationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-25</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id47356aa381a4938b76f1128ee97b6fa_D20210925-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2021RestructuringPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:InventoryImpairmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-25</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iaf3b01558b2049ed937c42f62a0627f6_D20210925-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2021RestructuringPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:OtherRestructuringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-25</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if1b7db1c7bec499cae220a7549bfd324_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i95896d91f6c44056853b89c521a8c75d_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i49eafed3fbe541a19d657a7fb5fa4133_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6282743fb1d849a5bf3e665300455e70_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic9b224454d814ffdb129c67210d8fbf0_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8d7c7158b86349b0b673e386ab23f4d1_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib5fb47f1ee4a4d55acbda6cc986d0e2f_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3601140a1b5d48cbb74545450b7b49a1_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6582efeb97c740f2ad2d4044af6c2ff9_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic132082e7576428b9814f8d5ff660918_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3b78b68007a54f6fbc15c14d492d2b2c_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5cbc20d07e044df58c256b505f1b70ab_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i05bb199b856b4bfabf594e1eda7607b8_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i12895a6ccb9943618c0b4a6e94058610_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i54f2f2fa7e50416aa38c90bcc04d78f8_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifa49921cb7384c388de263ba1beea208_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib27b3962f9b24e249e27e49b51686691_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7ba599ea2b044831ac6696e62539a8fc_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:StockBasedCompensationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7660898fbe044fa9a6043299774901f9_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:InventoryImpairmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5741ed4afdeb4572a757cfa071739f4e_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8ca442f49dd4434c98f14186852a6786_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:StockBasedCompensationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i38cd5a7836bd4023867cd8ed3e14feed_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:InventoryImpairmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i624cb88d2a574ddda3171d47d7625d5d_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i787fdfa2b0ec4cb294eb6a87e1cf9bc6_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:StockBasedCompensationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i10a3eef303f349e3ac798f4d3a8a7c71_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:InventoryImpairmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ife40b8f8d84c40d9a9439e2507afbc7f_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iab7600f13b314f11a788b6676167b53c_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1080e798dfe8400eb94109b03ea7fc42_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4f31725f0be04f03a175254c002b7d23_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie3413906e19642a5858c5191b2b63908_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia981d433bb9f4092a5ca4f8406dd9a71_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifba4d8a09a2d47bab2f39ccc161c350b_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib6befc7f521648b99a1d82bb45b1ebe7_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifb0565ca70f14d0e8b8c8a3d7718daab_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib0eef226bd654c78bf439fbe7ca07d63_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0dd333b3406a4c45816beefd9e569642_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if3454759c82b44788f2719d6665d2872_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ida308296e39b41f4a0a9face207fffd7_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i40052b5383e04037bde48706a08e94e0_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic09f446075e24fcfa16080d0ef2882ae_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i176cf6f878f04ac18bd260217fc27a90_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i508295e68ab545a0874a470a4d0f33f1_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib6f7c6d4e44b49278a0e770aaa6e050e_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i480bb9bb91474eaf8a83473d05b7d720_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iea31b6e9335d402f9de79f1a8c1a125a_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i41da4f1302744839b874b0fdc51c6043_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8ff3a246c4c7407e9c0da35fb1c6c7fc_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7f394b5e9cb443c682915536205dc94f_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i07766960d02642bf99185ace9e2b35de_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5bf79e8f81f14e56aef89484bfb7c321_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia6b87f2c9cb9421ab60ad6878bc0bc59_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib94b7836bd464128b4bcc435a161dcf6_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7ddc0fd0c9004b4ebc0e2bb242e85493_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0a8c48baa5d24637a43822b5d6759470_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3238691572e145dda167fbeaa4eb48ae_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5ae1e25c98c1453196222ca7265ce94a_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i39761d51019d46a4b6d2b509efd1f0bf_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib3ef644f58084bcc8f58a2172b4b6cc4_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7ff98d9067104644b1253c089ca7654a_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2c1ff0745dff4b80b4f3440028231035_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibb27b9672dbb4ae3b3a5829a44f51a3b_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="icecde2b3e4c742d7a04fdbcb684b034e_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idb9665c0fece478cb7334108983b6aed_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iaf8dae5fd10744d4a895de0ddfea3300_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie181d3dc8223465ab7d1999c61457d95_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4d3acfd9682f47f7943fce76e6964b5f_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i366643d3681d4dd6a3eec21ccbbd16d6_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iaba339810fc34fddb07a062f553101c6_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3ccdae7bf0db4ed4a821fb9c8a7f3f4c_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5cd1c8b73232406080f35aa64aeb11de_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i14ca5a1381b0410b83c743d6086e7dc8_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia48acc1c15424756a4ded0aaf6ca95c0_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ied84933b5c6e4b6db8c9100b55a05c32_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iae766829b1a042c0b996e56d78695045_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib3cef90ac2e4401eba541a22161e2170_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id98e2212c5af4575b3b51a696e7c628a_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9c2a8c2f3d4d4fb58c33ce5be929408c_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8e2a621b154243888daa2aa002f53ca9_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic26b161159f242d68023e5087a505d6b_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0c8ad60d3f1a4126bb3d1971e8a6d90a_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id364050ee17f49b9ab9d5e5df5b3a1a1_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0af4b18e6a314030bd2ca1d48cd4a5f1_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i074633dbcb4742fba89bc02c9f5d868f_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1df6d46d3af34559bffc71ca077ef343_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie48b4fbf076643b1bffda4cd03851427_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i49c681e1710d488799400cf8fe610e36_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id8871384e6e84259b0ccef13d2423c7d_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i74522995661c46ff8534b601fb3ca67e_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8a53d69f0106407da1c4c8d8b7c032b6_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1caf8c6376864d9fa26030540e34755e_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="icbf177a663154204b8b7fd7fcff89aac_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1861d1af33324770945d675a397b4d5d_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic275005a170445b0b100f03e761a9e87_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id1ed78559ae54af791f0f502b636386e_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6203915b3f6c4dceb9a11f4b38b4a544_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifab97facca954d5287c6db708062786f_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i671fc26c178541d998dfa44323f9450c_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7aeb4213ea1e471b81e73bcab5acccaa_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iebc8fe86f92c40cbb59a7f78ca22943e_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if1567c4519a94a5fb463ef22dde89ee4_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i37788baf19a04af2b8e68a8ef4dcc6a6_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idafc892a85b141e2a02677c5f25f7ea7_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i59d28ec1885a488d9fc20208342a931f_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3e2f60e324254677bec77af1e2eb3174_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ida3b54d2449c43ebbc2b85af835992fe_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3f295ade2375424eab902435ed376056_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie5332f8b331f4fefa4517c233a78dad9_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6d38e8f69b6149ba93fca93c6b09a6a1_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:EUR</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PositionAxis">us-gaap:LongMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="eur"><xbrli:measure>iso4217:EUR</xbrli:measure></xbrli:unit><xbrli:context id="i2fbc4cfcc181400e91016116c4bde454_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PositionAxis">us-gaap:ShortMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:EUR</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i49a018e6a4c343a3ab446e5a98f94612_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:JPY</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PositionAxis">us-gaap:ShortMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="jpy"><xbrli:measure>iso4217:JPY</xbrli:measure></xbrli:unit><xbrli:context id="i2e4a579897f84901adb30aeb819f62d7_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:KRW</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PositionAxis">us-gaap:LongMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="krw"><xbrli:measure>iso4217:KRW</xbrli:measure></xbrli:unit><xbrli:context id="i2ba6960e0edc430c8f33dbe0efc00da0_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PositionAxis">us-gaap:ShortMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:TWD</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="twd"><xbrli:measure>iso4217:TWD</xbrli:measure></xbrli:unit><xbrli:context id="id3ac28a910af449aaf7b0e5e090098ec_I20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsNonrecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i59e69ceb0cbf4e8081b2d6f4a653eb0c_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsNonrecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i122f71a531a74c46a864fcb01284946a_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie7f330b0337644829fd4d2e82b4e4d7e_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7f530dc5b1a047ecaf421b114a9323a9_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8ebaa8f40e7f42d2b371e8962a3b2e69_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</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="i24324c00724c40828bf5f5796827d533_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i52276040d73e4304b55892f6a81375fe_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ice55480cac0c4ae7b4b2c86241fc7cb6_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i37402380ef974000b8550d7d8eab119c_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i202ada5ccffc4d82a1ea1ee8dd341a96_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9da1affa9e5548d69cf0481b7b379a93_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4c735d093af34507bda41e58775c7890_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i495dbf122da84560a0d4d4a0f015c566_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i646de1cf07874f1ab881cc71b4ca6e7d_I20201026"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">form:October2020StockRepurchaseProgramMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-10-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5118bbc761e6489baea324354ed450ca_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">form:October2020StockRepurchaseProgramMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i925f8dacc0a04f4687d9b44fbf42ba92_I20220520"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">form:May2022StockRepurchaseProgramMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-05-20</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if5c8b70c14064d7994936b0d60e7d783_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">form:May2022StockRepurchaseProgramMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i053f8d96437a49d38ba58041a9af7cab_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">form:May2022StockRepurchaseProgramMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0a8f8e03f06649dfa412b9a69e5145c8_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">form:EquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie184a8a9cf614c99831bbbc704fcff86_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">form:EquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i365caee2eb3f4ee4a1c11ea299db3b0b_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">form:EquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4e183f1cc7304786a98e8841b1ec31aa_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id4e84f7451d04e39abdf0b0d3a71f574_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie94cc76b63e448eb9ca592a368742788_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifb29402121114da68b9249062f7860fa_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8fe1555043044adfbd76cbf04c322f21_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">form:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8b545e53fd134f64a9c0939aada3a34e_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">form:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5808ac56e8724d9483b50db7563a40f6_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i86e206e6282d48df8160241056830aba_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0fac63ac36a244b28d9b24d06a2de166_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i395d9aa550624ec2bb1059db6b563618_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-04-02</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ice9a0c10ada145f28c2b1602c40f3b47_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-12-31</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1af4ba8a470444dd8b60d0cd67b6cde0_I20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-12-29</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="segment"><xbrli:measure>form:segment</xbrli:measure></xbrli:unit><xbrli:context id="i6799f4892e69498f84fdcbb37f078a02_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idafa2106a1e248679a8dd6bbc5ffe836_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia6cd83b723cb4befa61de97eeab914e8_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateAndOtherMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic9216ee9ab2a440bb01d0fd72414117a_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i416c5312e797409088f4faf3df8164c2_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib78660443e5342919fd39eefb59b54ab_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateAndOtherMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie3f57f4658024943a997aa8668aa48d1_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FoundryLogicProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="icb207516222642b0b03061d743015c19_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FoundryLogicProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i57ab77dbccc3409bbb5e6e5e7b8f7894_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FoundryLogicProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6861222872134435bf1efe71e802aae9_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FoundryLogicProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie9468e14e1ff4c62b68559b78b297bd6_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FoundryLogicProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib953e584b4bb4e11a980b5e8acda3136_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FoundryLogicProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2aaa39893dcb4023846ebdb2ec8c933b_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:DRAMProductGroupMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i266271e17afe4a57bcc2fab6e76d9461_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:DRAMProductGroupMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i007b4e45424f471b9629da09a3605d1b_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:DRAMProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i52ea4778270f4b9bb78dda43ac72670b_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:DRAMProductGroupMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5cbbbaf5fc9d4371823b2348bf486ffe_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:DRAMProductGroupMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i81af7d056faa4c07bf200003672f214f_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:DRAMProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i81131e87b9d745e3befe5db80fdf0f1c_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FlashProductGroupMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i764f57f8fdf94f0588744fd2195380b5_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FlashProductGroupMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i69508750369f4341845545a96895402a_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FlashProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i38d12d03b6f84fa3819af6398067eb30_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FlashProductGroupMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3b9c1393c8de480083cff99bbf25319e_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FlashProductGroupMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i75a366b43b8b4586b8ab6f43e0b11dae_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FlashProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia68b5447e2994f8cb9e415a6ce3af946_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:SystemsProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i89af6a405c09446ba30a2a3314e38887_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:SystemsProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i744dd35966914451b5084e9dc0bb3214_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:SystemsProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6f2cd2293e3742c799e6fb09b7662926_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:SystemsProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i40031554171a497798ea6f3e6b43626e_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:SystemsProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic235b1adb6f24f2381252950cea3f0e9_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:SystemsProductGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1488a50f1c794c9fbaa68a857ae26cac_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib502d25daae043e6afbff8cb7b362887_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic44dc2978e884bbd9466062ae11fedf1_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iab0ee60fb57747799dd9400b3ff1f8c2_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6fa94ae85bd7418c9a016f8ea73d9d1c_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i134bda744ed0424c96fadc32de7c50c4_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id64205c2964f4c54a4290871570a94cf_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i20307a1b1ed94e5490c664c65f9c9904_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i75948687300041d090a82594e13f7ca5_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i79e0c0052c1f4135a501117dd15b3a7b_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5a828079b7094f718c6e884b6d45e4ee_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ica5134de62dd4545ab3b260d7d27743d_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i81da785277964902a701690fae11865b_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i92392ed809004fb1a75c9e3c278d2456_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1a676884d1a04c6e87b1f9cf3f175b7a_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iad1c658a279c4745b0d1a886ed75f821_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2c30f6660ee44b12b0e077bb86b8f4d2_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib1fface799f3462bb2b0e61e3e8d8f10_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2c758b12153c434b8eaa9f607f1db25d_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5337f25c366d4835bd8a43e610921210_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4b8bb859a76b48a080301b951b76bd90_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6525bf52fdfa47f5adabab22a2873881_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9be73b1d22a94f2ea1eda2c91c596f67_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8a948107ecc145e2baff6c24d179554f_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iad28ecdf279b4e43961aca06c6d21859_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1d687f6558974f55b7f66e57dbccc17e_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i83bb271dfcce47cba292196b76a2dade_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibee3e0ac0ee5429cb1d971f77908e3bd_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8053af22f7dd41f7a23ba95b992f6fe7_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6ec50656699f488b9b52f67d7fdb2b79_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7f865995caab464db4739dc18c62189c_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6507a08f7c5840dfa9054cb519745d2d_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5d05b88744404d029a61c604fc8db06c_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib3752d819d1048c89f6920d7d9e32c1d_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1409dd5e93e64711b040238882879a40_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i68c0c7f21acb455bb1594c12a2dbfa3b_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7f172e3509464e918c0a87ba4283e5bd_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MY</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia6a21b1c92834d2b82cb2a8a7c59e713_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MY</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic06e4101362e4e9695c9e997df7b0f81_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MY</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i407ac2ed3ed14d8f8217b2302f71d2ca_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MY</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0889f288138e4be986fd4526fcd765db_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MY</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7e91e67abc894725bbfc242d7a721b8e_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MY</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id6c666fc64c440759f9618aace5820d7_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5ef2131c3ede459b800af8e0eda58b4a_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4f4bc73792f546eeb6d5406f68d67f24_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9d6453bfae0a4a0085a505143d64d584_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia5d8ed6eb7aa46b99e1616b9ee248752_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib126b5d6b87246a897198cbe4d795a2c_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i654bd1564de945ff812e812c9bc9576f_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i461d5fe8aac047cf8fcaf7fc448c9696_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i513e4403d35d43e48725caa76a757877_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if2c3fc7e45274488a2a6ef76e75684fe_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i10e203ee90654dcab429dce0536e133c_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id67db979c6a94444ade9b8a4ab9f725e_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibc0b0428e0f843888e6d7665dd1f032f_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SG</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id503bb2fc33e425bbc56cef72c72cc19_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SG</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1ebb525b6c614078a9e5ff7912b3f2ec_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SG</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iba5fd4c6177147d59298e1a8ab5c6e10_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SG</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i811f44c68eaa4500bef0308f02af1310_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SG</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic8d63af8ddfa4cf9b0087cfdc204cece_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SG</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic13816905676417c8d63b98c2b9454da_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">form:RestOfTheWorldMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7fb128364d9d457dac8137e8dca2a37a_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">form:RestOfTheWorldMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib564e85ade4748579fc7ab660398f569_D20230101-20230401"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">form:RestOfTheWorldMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic0f60a5036944fdd9696a6b335a55c78_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">form:RestOfTheWorldMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i77eea6a948d743a5aebb380f281512c4_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">form:RestOfTheWorldMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i91ef3001d5af493fb558e3570ab9fac6_D20211226-20220326"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001039399</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">form:RestOfTheWorldMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-26</xbrli:startDate><xbrli:endDate>2022-03-26</xbrli:endDate></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="ia6fb55369a22456888fa85eea58ff384_1"></div><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:8pt;margin-top:8pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="border-bottom:1pt solid #000000;border-top:2pt solid #000000;padding:0 1pt"></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:14pt;font-weight:700;line-height:120%">UNITED STATES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:14pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:14pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:14pt;font-weight:700;line-height:120%">COMMISSION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Washington, D.C. 20549</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%">Form&#160;<ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:DocumentType" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF84NQ_90a65340-3973-4b80-a98f-b73b708f8284">10-Q</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%"> &#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(Mark one)</span></div><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:11pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:DocumentQuarterlyReport" format="ixt:fixed-true" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF8xMDM_c52b0474-86b0-40c3-a9c3-8a4c208d25ce">&#9746;</ix:nonNumeric></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">QUARTERLY REPORT PURSUANT TO SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">For the quarterly period ended <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF8yMjU_a267165e-1ed0-4b12-a525-58a5081cb0b7">April 1, 2023</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Or</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:11pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:DocumentTransitionReport" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF8yMzM_20ac8627-a3ff-451a-896c-c9f77535cc40">&#9744;</ix:nonNumeric></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">TRANSITION REPORT PURSUANT TO SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">For the transition period from&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;to&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Commission file number: <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntityFileNumber" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF80MDg_88bba028-5dd4-4ba1-b009-8cebeef1ec90">000-50307</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntityRegistrantName" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF80MTQ_753cc75a-e9f3-48fd-9dea-ba87cec48fa8">FormFactor,&#160;Inc.</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(Exact name of registrant as specified in its charter)</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:46.707%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.285%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:46.708%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6OTU4NWRjYWFmMmI4NGJmODk2OTUzYmUwYjY2YTUyMTMvdGFibGVyYW5nZTo5NTg1ZGNhYWYyYjg0YmY4OTY5NTNiZTBiNjZhNTIxM18wLTAtMS0xLTExMjg4OQ_d936e8fd-0b87-4ef8-b6ae-f4ed97088b0f">Delaware</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntityTaxIdentificationNumber" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6OTU4NWRjYWFmMmI4NGJmODk2OTUzYmUwYjY2YTUyMTMvdGFibGVyYW5nZTo5NTg1ZGNhYWYyYjg0YmY4OTY5NTNiZTBiNjZhNTIxM18wLTItMS0xLTExMjg4OQ_86108c5d-ca16-4d42-93a7-2a4fd2eeb4a1">13-3711155</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(State or other jurisdiction of<br/>incorporation or organization)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(I.R.S. Employer<br/>Identification No.)</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntityAddressAddressLine1" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF80NzY_c9f02d58-7a48-41c8-a128-ff24bd4ea9db">7005 Southfront Road</ix:nonNumeric>, <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntityAddressCityOrTown" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF80ODA_6a2181fc-059a-4b68-aff7-c371dab5e751">Livermore</ix:nonNumeric>, <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntityAddressStateOrProvince" format="ixt-sec:stateprovnameen" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF80ODQ_2592e2fe-afb0-4c3c-a6fd-5084d55388e3">California</ix:nonNumeric> <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntityAddressPostalZipCode" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF80ODc_dcff71ad-b292-4f05-80f8-c3c5e650aa40">94551</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(Address of principal executive offices, including zip code)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">(<ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:CityAreaCode" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF81NTU_d3945008-8bd7-46ec-86cd-34fbd0486db1">925</ix:nonNumeric>) <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:LocalPhoneNumber" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF81NTk_edb2b762-a717-4aae-bca8-421ab0db1871">290-4000</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(Registrant&#8217;s telephone number, including area code)</span></div><div style="text-align:center"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Securities registered pursuant to Section12(b) of the Act:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:0.1%"></td><td style="width:2.728%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:26.279%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.728%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.124%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.980%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.124%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.137%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Title of each class</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trading Symbol(s)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Name of each exchange on which registered</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:Security12bTitle" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6ZmQyNWJlNmQ3ZmVkNDU2OWJlZTQ5M2M5YjUyYTI4ZTYvdGFibGVyYW5nZTpmZDI1YmU2ZDdmZWQ0NTY5YmVlNDkzYzliNTJhMjhlNl8xLTEtMS0xLTExMjg4OQ_af52e9bb-3bc2-4ae8-ae63-91eb11177fc8">Common stock, $0.001 par value</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:TradingSymbol" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6ZmQyNWJlNmQ3ZmVkNDU2OWJlZTQ5M2M5YjUyYTI4ZTYvdGFibGVyYW5nZTpmZDI1YmU2ZDdmZWQ0NTY5YmVlNDkzYzliNTJhMjhlNl8xLTQtMS0xLTExMjg4OQ_ab9214b6-3c43-4fb8-8ce6-68494208bc95">FORM</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6ZmQyNWJlNmQ3ZmVkNDU2OWJlZTQ5M2M5YjUyYTI4ZTYvdGFibGVyYW5nZTpmZDI1YmU2ZDdmZWQ0NTY5YmVlNDkzYzliNTJhMjhlNl8xLTYtMS0xLTExMjg4OQ_8e8ec4fc-a503-4705-b15a-34755a4ae3a4">Nasdaq Global Market</ix:nonNumeric></span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">______________________________________</span></div><div style="text-align:center"><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d)&#160;of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90 days.&#160;&#160;&#160;<ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntityCurrentReportingStatus" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF8xMDY1_494b6a12-6ef1-4e32-b98a-bf136b11e34a">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#9746;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;&#160;No&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant submitted electronically every Interactive Data File required to be submitted pursuant to Rule&#160;405 of the 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).&#160;&#160;<ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntityInteractiveDataCurrent" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF8xMzg4_b666942b-f58c-4eff-89c3-4f98c9542e00">Yes</ix:nonNumeric>&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#9746;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;&#160;No </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">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 the definitions of &#8220;large accelerated filer&#8221;, &#8220;accelerated filer,&#8221; &#8220;smaller reporting company&#8221; and &#8220;emerging growth company&#8221; in Rule&#160;12b-2 of the Exchange Act. (Check one):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:29.163%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:1.970%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:29.163%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:1.970%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:29.163%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:1.971%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntityFilerCategory" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6OTVjYzAzODBlN2M3NDdkMDlkN2ZlN2NhZDBmNGY5MzMvdGFibGVyYW5nZTo5NWNjMDM4MGU3Yzc0N2QwOWQ3ZmU3Y2FkMGY0ZjkzM18wLTAtMS0xLTExMjg4OQ_3a548dba-764c-4fd6-a1a0-344fd1ee3283">Large Accelerated Filer</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9746;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accelerated&#160;Filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-accelerated&#160;Filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span></td></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Smaller&#160;Reporting&#160;Company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntitySmallBusiness" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6OTVjYzAzODBlN2M3NDdkMDlkN2ZlN2NhZDBmNGY5MzMvdGFibGVyYW5nZTo5NWNjMDM4MGU3Yzc0N2QwOWQ3ZmU3Y2FkMGY0ZjkzM18yLTEtMS0xLTExMjg4OQ_5a7e33ed-44e9-4bec-ba85-9df25c2a5b4b">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Emerging Growth&#160;Company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntityEmergingGrowthCompany" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6OTVjYzAzODBlN2M3NDdkMDlkN2ZlN2NhZDBmNGY5MzMvdGFibGVyYW5nZTo5NWNjMDM4MGU3Yzc0N2QwOWQ3ZmU3Y2FkMGY0ZjkzM18yLTMtMS0xLTExMjg4OQ_4f50f4a1-47a4-488a-8d11-3a2271ab17a7">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%"> </span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">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. &#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9744;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> &#160;&#160;</span></div><div style="text-indent:18pt"><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a shell company (as defined in Rule&#160;12b-2 of the Exchange Act).&#160;&#160;Yes&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:700;line-height:120%">&#9744;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> &#160;No </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="dei:EntityShellCompany" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF8yMjQ1_0fed0708-a577-4541-a357-d77dde6617fd">&#9746;</ix:nonNumeric></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-indent:18pt"><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">As of May&#160;3, 2023, <ix:nonFraction unitRef="shares" contextRef="i0c5ca847bc4942f8847068953febbcb3_I20230503" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF8yMTU5_917b8106-b3d4-4822-8e98-fd14de6e3627">77,144,094</ix:nonFraction> shares of the registrant&#8217;s common stock, par value $0.001 per share, were outstanding.</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:98.900%"></td><td style="width:0.1%"></td></tr><tr style="height:3pt"><td colspan="3" style="border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td></tr></table></div><div style="text-indent:18pt"><span><br/></span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="ia6fb55369a22456888fa85eea58ff384_7"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FORMFACTOR,&#160;INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FORM&#160;10-Q FOR THE QUARTERLY PERIOD ENDED APRIL 1, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">INDEX</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.852%"><tr><td style="width:1.0%"></td><td style="width:11.455%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:79.993%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.252%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_10">Part&#160;I.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_10">Financial Information</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_13">Item 1.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_10">Financial Statements (Unaudited):</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_16">Condensed Consolidated Balance Sheets as of </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_16">April</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_16"> </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_16">1</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_16">, 202</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_16">3</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_16"> and December </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_16">31</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_16">, 20</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_16">2</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_16">2</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_16">3</a></span></div></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19">Condensed Consolidated Statements of Income for the three </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19">months ended </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19">April</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19"> </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19">1</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19">, 202</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19">3</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19"> and </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19">March</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19"> 2</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19">6</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19">, 20</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19">2</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19">2</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_19">4</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22">Condensed Consolidated Statements of Comprehensive Income for the three</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22"> months ended </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22">April</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22"> </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22">1</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22">, 202</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22">3</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22"> and </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22">March</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22"> 2</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22">6</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22">, 20</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22">2</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22">2</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_22">5</a></span></div></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25">Condensed Consolidated Statement of Stockholders' Equity for the three </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25">months ended </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25">April</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25"> </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25">1</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25">, 202</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25">3</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25"> and </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25">March</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25"> 2</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25">6</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25">, 20</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25">2</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25">2</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_25">6</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28">Condensed Consolidated Statements of Cash Flows for the </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28">three </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28">months ended </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28">April</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28"> </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28">1</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28">, 202</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28">3</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28"> and </a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28">March</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28"> 2</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28">6</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28">, 20</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28">2</a><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28">2</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_28">7</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:6.75pt"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_31">Notes to Condensed Consolidated Financial Statements</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_31">9</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_88">Item 2.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_88">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_88">19</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_112">Item 3.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_112">Quantitative and Qualitative Disclosures About Market Risk</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_112">27</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_115">Item 4.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_115">Controls and Procedures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_115">27</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_118">Part&#160;II.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_118">Other Information</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_118">28</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_121">Item 1A.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_121">Risk Factors</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_121">28</a></span></div></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_127">Item 6.</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_127">Exhibits</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_127">29</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_130">Signatures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#ia6fb55369a22456888fa85eea58ff384_130">30</a></span></div></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></div></div></div><div id="ia6fb55369a22456888fa85eea58ff384_10"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART&#160;I - FINANCIAL INFORMATION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div id="ia6fb55369a22456888fa85eea58ff384_13"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 1. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Financial Statements</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:120%">&#160;</span></div><div id="ia6fb55369a22456888fa85eea58ff384_16"></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FORMFACTOR,&#160;INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONDENSED CONSOLIDATED BALANCE SHEETS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands, except share and per share amounts)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:74.595%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.385%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.761%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">ASSETS</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMy0xLTEtMS0xMTI4ODk_d63de1d9-bb27-43fe-a63f-61fc88c43572">112,360</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMy0zLTEtMS0xMTI4ODk_bead78e2-cad9-41fe-ad34-509cf7a0407b">109,130</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNC0xLTEtMS0xMTI4ODk_312db621-b5ca-462d-8fa7-635fefb905c8">123,891</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:MarketableSecuritiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNC0zLTEtMS0xMTI4ODk_de6af4f5-3444-4c59-837d-9ec110f14caa">129,006</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable, net of allowance for credit losses of $<ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNS0wLTEtMS0xMTI4ODkvdGV4dHJlZ2lvbjo4ZDA2YWYyZTE3Y2I0MTI5OGNjZWNhYTJmZDBlNzUzMl82Mw_5acbb12c-1883-47d2-a67d-87adb5d878e9">169</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNS0wLTEtMS0xMTI4ODkvdGV4dHJlZ2lvbjo4ZDA2YWYyZTE3Y2I0MTI5OGNjZWNhYTJmZDBlNzUzMl83MA_ed436707-4909-4ec7-ba70-e8b21550547f">168</ix:nonFraction></span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNS0xLTEtMS0xMTI4ODk_dddf31db-417e-4286-9a91-81d00549f873">103,969</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNS0zLTEtMS0xMTI4ODk_0a4e6412-5734-419c-8895-b888d5579ecf">88,143</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Inventories, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNi0xLTEtMS0xMTI4ODk_b64b951c-7999-4a8d-a017-e7ca70f3da79">116,553</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNi0zLTEtMS0xMTI4ODk_e2e5ff98-d07a-43bb-bc11-2fcf10d10d4f">123,157</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restricted cash</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNy0xLTEtMS0xMTI4ODk_aa8428e8-6a79-4e68-a032-c81c210e0a3e">1,207</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNy0zLTEtMS0xMTI4ODk_9611b292-5ab1-4bc3-a88c-50d013cdcc84">1,221</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfOC0xLTEtMS0xMTI4ODk_6fc63ce8-6d41-49db-b3f5-8d04641c3cbb">22,941</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfOC0zLTEtMS0xMTI4ODk_ba36ec17-02fb-4cac-9009-a0114627c532">23,895</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total current assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfOS0xLTEtMS0xMTI4ODk_43774302-bea2-494c-8720-3238a45cfa5c">480,921</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfOS0zLTEtMS0xMTI4ODk_e1a97be6-c8e8-458d-93ce-c4abe8cfd6ad">474,552</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restricted cash</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTAtMS0xLTEtMTEyODg5_f59bb992-86af-4e78-9985-6a77c7cca533">2,287</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTAtMy0xLTEtMTEyODg5_01a7ad98-1835-44d4-a09f-30121cb100ec">2,631</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease, right-of-use-assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTEtMS0xLTEtMTEyODg5_bd20bd84-5ac9-4a20-a029-8b9915b46a9b">30,420</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTEtMy0xLTEtMTEyODg5_4e71b8a6-df8b-48d9-9fe9-47c6c368afe9">31,362</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Property, plant and equipment, net of accumulated depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTItMS0xLTEtMTEyODg5_c14bca38-8156-4ef4-8c2a-59892ee9639b">198,232</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTItMy0xLTEtMTEyODg5_c194e843-ddb7-4d5d-932f-3466622c5998">189,848</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTMtMS0xLTEtMTEyODg5_1873354e-02c0-4866-994a-97f181c71f52">211,773</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTMtMy0xLTEtMTEyODg5_aa92e3a1-a72c-4c58-9a8a-d0e35bf2bc58">211,444</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intangibles, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTQtMS0xLTEtMTEyODg5_e0145778-bbb2-4d88-8fd6-dbcccecc8d12">24,486</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTQtMy0xLTEtMTEyODg5_efe3dab4-03e2-4cd6-9c62-089899644604">26,751</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:DeferredIncomeTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTUtMS0xLTEtMTEyODg5_d1519a54-43bc-4389-a20e-71a13b8bc8c8">67,951</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:DeferredIncomeTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTUtMy0xLTEtMTEyODg5_f666b5eb-5486-4e55-bd66-4dd51e90da7e">67,646</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTYtMS0xLTEtMTEyODg5_148f8f48-6181-4643-bf69-b25f129d6578">3,686</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTYtMy0xLTEtMTEyODg5_b42f1650-81ac-4f59-96f2-c9ef12bbc80d">3,994</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTctMS0xLTEtMTEyODg5_bda9f9e5-98ba-4606-bbcc-62c90353a9af">1,019,756</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTctMy0xLTEtMTEyODg5_f7075e51-9c00-4c0e-91c0-884906987c67">1,008,228</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts payable</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjEtMS0xLTEtMTEyODg5_eda7d8de-0483-4a25-9327-fa78cc7fb15e">63,756</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjEtMy0xLTEtMTEyODg5_db4bd2bd-b6d8-488d-9711-0cd8d28d5376">69,308</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjItMS0xLTEtMTEyODg5_06e96781-0564-4a52-879f-e19abc9b08e3">31,981</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjItMy0xLTEtMTEyODg5_22d9befc-f21a-4d3c-8f92-de8fd08c3ff5">42,115</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Current portion of term loan, net of unamortized issuance costs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:LongTermDebtCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjMtMS0xLTEtMTEyODg5_0002b12e-6949-4165-8f4b-cb52000e20e6">1,142</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:LongTermDebtCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjMtMy0xLTEtMTEyODg5_bde2a548-642a-41a3-8bf9-bc6b300bb4fc">1,045</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:DeferredRevenueCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjQtMS0xLTEtMTEyODg5_debf0933-5244-45ee-853c-06abc32057db">23,779</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:DeferredRevenueCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjQtMy0xLTEtMTEyODg5_958c4ce0-cccb-4240-a94d-ec7e03dd1342">29,846</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjUtMS0xLTEtMTEyODg5_d4710ee9-9496-442b-b5bc-bc2b9004df37">7,512</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjUtMy0xLTEtMTEyODg5_2b028e78-fd19-42b3-8d2f-f6dd7b855187">7,353</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total current liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjYtMS0xLTEtMTEyODg5_1930cce8-f10b-4a35-b047-fd133faabbad">128,170</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjYtMy0xLTEtMTEyODg5_2130427e-3413-4cdf-8716-f132979833d5">149,667</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Term loan, less current portion, net of unamortized issuance costs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjctMS0xLTEtMTEyODg5_7d64d85e-8853-4979-8d9e-80199d8840c9">14,034</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjctMy0xLTEtMTEyODg5_3e523ec2-3a77-494a-888b-82c08bc2d5a0">14,389</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred tax liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjgtMS0xLTEtMTEyODg5_f686548a-5e08-4de5-a5fe-33db94b823bb">2,905</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjgtMy0xLTEtMTEyODg5_a477fd25-57cd-4f6c-ae1c-f3acf73b0584">2,732</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Long-term operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjktMS0xLTEtMTEyODg5_9e83067b-672e-4026-9af8-3084b81ef3ba">26,407</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjktMy0xLTEtMTEyODg5_e4b76458-7df3-41b4-b4c4-cb387876d2c5">27,587</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred grant</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="form:DeferredGovernmentGrantLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzAtMS0xLTEtMTIwNjcw_5f3468f3-d151-4345-97bd-7bf190b11eb0">18,000</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="form:DeferredGovernmentGrantLiability" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzAtMy0xLTEtMTIwNjcw_d3464540-0e27-45d4-95bf-ecfaae659fa8">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:DeferredCreditsAndOtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzAtMS0xLTEtMTEyODg5_8150f898-29a1-493e-8ade-4706cbd266f3">5,868</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:DeferredCreditsAndOtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzAtMy0xLTEtMTEyODg5_a20be87c-db96-467c-aa6a-6e3f54f2f724">5,568</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:Liabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzEtMS0xLTEtMTEyODg5_a56e21a5-5d1b-4119-ae09-2820f4f4b645">195,384</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:Liabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzEtMy0xLTEtMTEyODg5_1c0b02b5-c8c5-4ff4-8a87-84ea93c5f07e">199,943</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stockholders&#8217; equity:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Common stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzYtMC0xLTEtMTEyODg5L3RleHRyZWdpb246ZTcyZDhlOTE0ZGE2NDFmY2JmMzNiMjM1Y2QxMDhlYzFfMTg_377c573a-34a5-46c0-8872-75e74610d547"><ix:nonFraction unitRef="usdPerShare" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzYtMC0xLTEtMTEyODg5L3RleHRyZWdpb246ZTcyZDhlOTE0ZGE2NDFmY2JmMzNiMjM1Y2QxMDhlYzFfMTg_c5873336-f30b-46e7-93bb-498dc5760e91">0.001</ix:nonFraction></ix:nonFraction> par value:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMC0xLTEtMTEyODg5L3RleHRyZWdpb246M2E1ZTYxYzEzMTAyNDBiODk3ZDM5Y2U3ZWIzYmM2MmFfNA_7c87aa4c-8e9d-4bbb-bada-a3509cbbb050"><ix:nonFraction unitRef="shares" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMC0xLTEtMTEyODg5L3RleHRyZWdpb246M2E1ZTYxYzEzMTAyNDBiODk3ZDM5Y2U3ZWIzYmM2MmFfNA_7e478ffd-7074-4562-858c-639f12700107">250,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction unitRef="shares" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMC0xLTEtMTEyODg5L3RleHRyZWdpb246M2E1ZTYxYzEzMTAyNDBiODk3ZDM5Y2U3ZWIzYmM2MmFfMjY_4db74792-d59b-4bf2-b4ab-d03151e87772"><ix:nonFraction unitRef="shares" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMC0xLTEtMTEyODg5L3RleHRyZWdpb246M2E1ZTYxYzEzMTAyNDBiODk3ZDM5Y2U3ZWIzYmM2MmFfMjY_fe27130b-3735-4eda-b545-0d58bf99ad9f">77,142,023</ix:nonFraction></ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMC0xLTEtMTEyODg5L3RleHRyZWdpb246M2E1ZTYxYzEzMTAyNDBiODk3ZDM5Y2U3ZWIzYmM2MmFfMzM_efb4f306-8ce0-4fa7-8405-daa74691aa14"><ix:nonFraction unitRef="shares" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMC0xLTEtMTEyODg5L3RleHRyZWdpb246M2E1ZTYxYzEzMTAyNDBiODk3ZDM5Y2U3ZWIzYmM2MmFfMzM_fdc41982-d7c9-48e6-974b-f834b457c887">76,914,590</ix:nonFraction></ix:nonFraction> shares issued and outstanding</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMS0xLTEtMTEyODg5_ad28d86e-a874-4958-8c31-2e3a62e3685c">77</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMy0xLTEtMTEyODg5_b72311c4-191e-477e-8c9c-418582af973f">77</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Additional paid-in capital</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:AdditionalPaidInCapitalCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzktMS0xLTEtMTEyODg5_7e247c13-1967-4b8c-b4cd-ea495fe91022">858,195</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:AdditionalPaidInCapitalCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzktMy0xLTEtMTEyODg5_876a25ac-f033-4017-adca-14940171a2e1">844,842</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accumulated other comprehensive loss</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDAtMS0xLTEtMTEyODg5_bc68b8f1-086c-4d01-a834-f03294f69bcd">4,186</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDAtMy0xLTEtMTEyODg5_47a83f42-80e3-4bcf-b4a3-ee12a99b4ef1">5,578</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accumulated deficit</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" sign="-" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDEtMS0xLTEtMTEyODg5_8a7181ce-678f-4dc8-8075-e8208cf7f311">29,714</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" sign="-" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDEtMy0xLTEtMTEyODg5_eee399d7-339c-48aa-948a-31276d08184c">31,056</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total stockholders&#8217; equity</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDItMS0xLTEtMTEyODg5_977dd6b6-ebdd-4423-b2e3-315564c67112">824,372</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDItMy0xLTEtMTEyODg5_9ffc9d01-cf01-4470-8461-a9b2409bf559">808,285</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities and stockholders&#8217; equity</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDMtMS0xLTEtMTEyODg5_6f487644-8804-4a46-9b75-c029ccd6911e">1,019,756</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDMtMy0xLTEtMTEyODg5_98c1e0a8-c4c2-4df4-8038-7d87de7f782a">1,008,228</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these condensed consolidated financial statements.&#160;</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3</span></div></div></div><div id="ia6fb55369a22456888fa85eea58ff384_19"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FORMFACTOR,&#160;INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF INCOME</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands, except per share amounts)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:74.595%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.385%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.761%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMi0xLTEtMS0xMTI4ODk_694465da-644e-4113-8094-0e2cacd41d55">167,448</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMi0zLTEtMS0xMTI4ODk_d61df206-caef-4bf2-a3d9-6094512df591">197,174</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMy0xLTEtMS0xMTI4ODk_68f90a1e-245e-4501-b7c5-2c4811c33aaa">106,370</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMy0zLTEtMS0xMTI4ODk_d206c91b-b583-4dfb-bbbb-8525e599a217">102,950</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfNC0xLTEtMS0xMTI4ODk_14493560-0887-47cc-8bda-423509f19bc6">61,078</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfNC0zLTEtMS0xMTI4ODk_90b40269-6c98-4317-af8a-b38f97ed1fcf">94,224</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfNi0xLTEtMS0xMTI4ODk_1185f286-b68c-454c-85c7-70c2cc02d2dc">28,245</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfNi0zLTEtMS0xMTI4ODk_02d5184f-51c7-4e6b-9066-bc96929ae868">27,134</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfNy0xLTEtMS0xMTI4ODk_9dbf8980-8a69-4814-9aed-58b4d326db8a">32,742</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfNy0zLTEtMS0xMTI4ODk_9d6ed07f-bb0f-435f-a514-5eacd23d7112">32,906</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total operating expenses</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfOC0xLTEtMS0xMTI4ODk_5a049756-bfeb-4065-baf8-647a43cd561f">60,987</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfOC0zLTEtMS0xMTI4ODk_ec3b9989-298b-4df1-999f-2037e80f6109">60,040</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating income</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfOS0xLTEtMS0xMTI4ODk_f7873ed2-daaa-4df6-ac26-caf54ed948c3">91</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfOS0zLTEtMS0xMTI4ODk_95c9d55a-78a6-4e41-8953-dc4bbbee6122">34,184</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest income (expense), net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:InterestIncomeExpenseNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTAtMS0xLTEtMTI2NDcw_2f04698a-cabc-4f47-a2d8-b4c6211a9ffd">1,276</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTAtMy0xLTEtMTI2NDcw_bbba24bd-1a31-4cb9-b9cc-37c61f2b2248">54</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other income, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTItMS0xLTEtMTEyODg5_c1825850-bc8e-4fb1-abde-7c5d5386cad9">23</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTItMy0xLTEtMTEyODg5_aeb5a21d-1000-4b5a-851b-891205ecc9c7">192</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income before income taxes</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTMtMS0xLTEtMTEyODg5_d48ec0e9-0973-44f3-a4cb-dfdeb07dac21">1,390</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTMtMy0xLTEtMTEyODg5_0c739ffd-3ed2-4e93-9f34-1c7cc481afbc">34,322</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Provision for income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTQtMS0xLTEtMTEyODg5_40cea295-4285-49cf-b7b9-ae492d0c6420">48</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTQtMy0xLTEtMTEyODg5_249fbe8a-c129-4b14-a920-a324b5428c42">4,450</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTUtMS0xLTEtMTEyODg5_ae458c13-fcee-4a69-b67f-0d5f346e7e5f">1,342</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTUtMy0xLTEtMTEyODg5_9d9919bc-f2ad-4d18-9b1a-b29b30d88c0b">29,872</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income per share:</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Basic </span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTctMS0xLTEtMTEyODg5_f4993a3c-7fd5-4d97-ad2f-470f57744f7e">0.02</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTctMy0xLTEtMTEyODg5_8e70f002-9664-4408-9620-b4046ebdbff6">0.38</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Diluted</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTgtMS0xLTEtMTEyODg5_8827c590-e47b-406a-9f66-8441b8abf0e0">0.02</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTgtMy0xLTEtMTEyODg5_ef470b90-5991-40ac-ab98-d804e173213c">0.38</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average number of shares used in per share calculations:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Basic </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMjAtMS0xLTEtMTEyODg5_39d17b54-5eef-44f0-ac62-a19446b1fd58">77,066</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMjAtMy0xLTEtMTEyODg5_effd5a19-5f84-47dd-9df4-e1dccb263ab9">78,246</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Diluted</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMjEtMS0xLTEtMTEyODg5_967c362c-ec31-417e-903a-3febff18e130">77,255</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMjEtMy0xLTEtMTEyODg5_b26ee5da-41a2-45a2-891d-cd0555ab5b22">79,468</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The accompanying notes are an integral part of these condensed consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4</span></div></div></div><div id="ia6fb55369a22456888fa85eea58ff384_22"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FORMFACTOR,&#160;INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:74.595%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.759%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.385%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.761%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfMi0xLTEtMS0xMTI4ODk_ae458c13-fcee-4a69-b67f-0d5f346e7e5f">1,342</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfMi0zLTEtMS0xMTI4ODk_9d9919bc-f2ad-4d18-9b1a-b29b30d88c0b">29,872</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other comprehensive income (loss), net of tax:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Translation adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNC0xLTEtMS0xMTI4ODk_91b6fbb0-b1ab-40b2-a5ba-df4a9a66adc5">832</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNC0zLTEtMS0xMTI4ODk_7411b4c0-a8de-43ce-ab83-3031a0d79f28">2,698</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Unrealized gains (losses) on available-for-sale marketable securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNS0xLTEtMS0xMTI4ODk_4db4a272-8453-413b-ad15-db2eca2f8fb0">603</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNS0zLTEtMS0xMTI4ODk_78f3a65c-0f08-4887-bd6c-d3505eeda0c0">1,204</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Unrealized gains (losses) on derivative instruments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNi0xLTEtMS0xMTI4ODk_cb4287c1-354c-4e73-a3ba-9cf982347591">43</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNi0zLTEtMS0xMTI4ODk_98677863-eefc-4c88-9579-9dc3ff4a2650">874</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other comprehensive income (loss), net of tax:</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNy0xLTEtMS0xMTI4ODk_b17e8718-6bed-4098-a5a2-9fda10eefc2a">1,392</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNy0zLTEtMS0xMTI4ODk_ce4488a2-4c5e-457a-8b60-59531a454153">3,028</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Comprehensive income</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfOC0xLTEtMS0xMTI4ODk_2ddf35b6-59fe-46e8-bcbe-6d6ce07778af">2,734</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfOC0zLTEtMS0xMTI4ODk_361876b8-fda5-4140-8a82-eb2aba4d0747">26,844</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these condensed consolidated financial statements.</span></div><div style="text-align:center"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5</span></div></div></div><div id="ia6fb55369a22456888fa85eea58ff384_25"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FORMFACTOR,&#160;INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands, except shares)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:36.967%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.270%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.367%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:8.270%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.466%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.027%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.273%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Shares of<br/>Common<br/>Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Common<br/>Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Additional<br/>Paid-in<br/>Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated<br/>Other<br/>Comprehensive<br/>&#160;Income (Loss)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Accumulated<br/>Deficit</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr style="height:6pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended April 1, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balances, December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ibfdd3bbe15dc4d77b67345258a401fdf_I20221231" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMy0xLTEtMS0xMTI4ODk_cb1be586-ed2e-42a8-9e09-b62ebf40045d">76,914,590</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibfdd3bbe15dc4d77b67345258a401fdf_I20221231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMy0zLTEtMS0xMTI4ODk_7f44fec3-a6ca-454d-bbe0-c5373d0ef686">77</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if7457c88bf674d218da51ff12d357d99_I20221231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMy05LTEtMS0xMTI4ODk_330bc95f-8fd9-42c7-a767-878091663cc3">844,842</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia0b25c5265654236857cbe2a2e7b32cd_I20221231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMy0xMS0xLTEtMTEyODg5_27ebb36a-d2c9-4d37-aede-f553ad36cf5d">5,578</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i4dc93f82cce84e6bba50261ab9d65a7d_I20221231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMy0xMy0xLTEtMTEyODg5_d87fcc56-5021-4800-a965-78c298558cfa">31,056</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMy0xNS0xLTEtMTEyODg5_c383955e-4c3d-4435-886d-182349da1a30">808,285</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Issuance of common stock under the Employee Stock Purchase Plan</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ibc5653127b5347bfad9df12716d95a7d_D20230101-20230401" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfNC0xLTEtMS0xMTI4ODk_e5e48627-b979-4ad2-912c-aa2436609cc2">210,055</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8696766348834258b591a0c0a503ad84_D20230101-20230401" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfNC05LTEtMS0xMTI4ODk_9aa82559-bb87-4240-92fd-191fb22cfa37">5,024</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfNC0xNS0xLTEtMTEyODg5_66620c1e-5131-4546-999f-efe1aa90f3a9">5,024</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ibc5653127b5347bfad9df12716d95a7d_D20230101-20230401" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfNi0xLTEtMS0xMTI4ODk_ccea321e-30fb-40ea-83dd-63fe33b3be45">17,378</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i8696766348834258b591a0c0a503ad84_D20230101-20230401" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfNi05LTEtMS0xMTI4ODk_3605dd18-18e3-48c9-851e-de3bd1614f1b">387</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfNi0xNS0xLTEtMTEyODg5_abc030ae-4f25-49ea-bbb6-a499fcee6008">387</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8696766348834258b591a0c0a503ad84_D20230101-20230401" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfOC05LTEtMS0xMTI4ODk_db74e353-3d2f-454d-b958-7ba778a47960">8,716</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfOC0xNS0xLTEtMTEyODg5_1c63bf3f-24aa-492c-bc70-3b41a17bddf8">8,716</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Other comprehensive income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id0827caa636243f9a93e1409f22c88c6_D20230101-20230401" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfOS0xMS0xLTEtMTEyODg5_a5f6783f-8b66-42b5-a055-4d94adb677be">1,392</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfOS0xNS0xLTEtMTEyODg5_7f85f7a7-1dc2-4cbf-a5fc-c9c249915bf7">1,392</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i99604a1bdfa24466bd9430eb427c76fc_D20230101-20230401" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTAtMTMtMS0xLTExMjg4OQ_f9898ef9-1f42-4396-9656-fbe695930fb6">1,342</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTAtMTUtMS0xLTExMjg4OQ_c860badf-5181-44a0-9748-f95c8cfbbd4d">1,342</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balances, April 1, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i5d482f4f15f4411893349c2dc299de5e_I20230401" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTEtMS0xLTEtMTEyODg5_3fb24ca3-ca2c-46d1-b911-543cb73589f3">77,142,023</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5d482f4f15f4411893349c2dc299de5e_I20230401" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTEtMy0xLTEtMTEyODg5_c40110d8-bab8-499d-885b-48b1afb215f3">77</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf9771bbecc24105af537b76141019f1_I20230401" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTEtOS0xLTEtMTEyODg5_5aa7b78a-e373-40ec-b75f-784b008bff4d">858,195</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie33adad870a844feaf951f8bd6b48dcc_I20230401" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTEtMTEtMS0xLTExMjg4OQ_f926b145-1628-446e-85fc-e8b060682016">4,186</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i16ba549c1b074ed7aee72b0292267bbb_I20230401" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTEtMTMtMS0xLTExMjg4OQ_99e9e8d1-40ad-4831-807e-54415c66c7f9">29,714</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTEtMTUtMS0xLTExMjg4OQ_bdcca819-e643-4fc1-ad36-3b224599227d">824,372</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:36.967%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.270%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.367%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:8.270%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.466%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.027%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.273%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended March 26, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balances, December 25, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i250b5fcf41be4f459b62251ab366c697_I20211225" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMy0xLTEtMS0xMTI4ODk_0341e04e-9d20-4f37-ab31-9e7090ca2df7">78,240,506</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i250b5fcf41be4f459b62251ab366c697_I20211225" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMy0zLTEtMS0xMTI4ODk_d062dc05-f0a6-4282-a668-cdee8d837585">78</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i48394b895093473c994a274663086da9_I20211225" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMy05LTEtMS0xMTI4ODk_51c11987-c0c4-4026-9d2e-c681e4628e68">898,945</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if13701fdb29345fca9f27c6a7176e3fb_I20211225" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMy0xMS0xLTEtMTEyODg5_ed7aeb20-9fb2-4fc9-b130-47b0c211ece0">1,449</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib07588f9b7764637b9e986e74b8bfddb_I20211225" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMy0xMy0xLTEtMTEyODg5_2c9e841a-72af-4d55-a867-b04e6f8e6e31">81,794</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idc0595bacd8744b39dc151edbaf37cf1_I20211225" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMy0xNS0xLTEtMTEyODg5_c164c577-39a4-4fea-9634-0d9ee6f8bbb6">815,780</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Issuance of common stock under the Employee Stock Purchase Plan</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if800aa8923954a8db5f89d6baec0295f_D20211226-20220326" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNC0xLTEtMS0xMTI4ODk_2cee5267-73bd-4f6a-ac0d-5d877256450a">157,642</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9b31f17cc6c04e0583c6c0d54c6796c7_D20211226-20220326" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNC05LTEtMS0xMTI4ODk_64fa1816-14f3-48fd-b427-6cd4dbba0f34">5,645</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNC0xNS0xLTEtMTEyODg5_4bdb0bd3-dc93-4849-b68d-ad4cf140bbe8">5,645</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Issuance of common stock pursuant to exercise of options</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if800aa8923954a8db5f89d6baec0295f_D20211226-20220326" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNS0xLTEtMS0xMTI4ODk_0ee98e57-f78e-4e75-91fb-a4a1ddb19cbf">6,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9b31f17cc6c04e0583c6c0d54c6796c7_D20211226-20220326" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNS05LTEtMS0xMTI4ODk_2bb73de4-d2ab-4e3b-836d-813cb1b55fa2">42</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNS0xNS0xLTEtMTEyODg5_db5aa4ba-eedf-4f89-8290-efd8c627d009">42</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if800aa8923954a8db5f89d6baec0295f_D20211226-20220326" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNi0xLTEtMS0xMTI4ODk_94b2e6db-e83f-400d-87d9-903c62f984be">2,612</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9b31f17cc6c04e0583c6c0d54c6796c7_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNi05LTEtMS0xMTI4ODk_16df3edc-ec1c-43c4-ba44-3d79357e66ac">72</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNi0xNS0xLTEtMTEyODg5_87977003-874d-4152-9113-9504dfcc37b0">72</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Purchase and retirement of common stock through repurchase program</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="if800aa8923954a8db5f89d6baec0295f_D20211226-20220326" decimals="INF" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNy0xLTEtMS0xMTI4ODk_06b60e07-886d-4dd5-b3e2-93315dcc985b">240,548</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9b31f17cc6c04e0583c6c0d54c6796c7_D20211226-20220326" decimals="-3" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNy05LTEtMS0xMTI4ODk_182c669b-dba2-449b-83b9-15bc519ad532">9,397</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNy0xNS0xLTEtMTEyODg5_1009d6c2-a14c-4d79-896f-00120f80e146">9,397</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9b31f17cc6c04e0583c6c0d54c6796c7_D20211226-20220326" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfOC05LTEtMS0xMTI4ODk_ef022c26-8c94-4730-bf30-365aad0c13dd">7,831</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfOC0xNS0xLTEtMTEyODg5_6cf321eb-ac2c-4dee-a0b0-2841def5809e">7,831</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Other comprehensive loss</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i019e1bd941ac4ed19a49d49a659d7b15_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfOS0xMS0xLTEtMTEyODg5_1d9f8470-20d7-406d-9223-22bcdf1451da">3,028</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfOS0xNS0xLTEtMTEyODg5_de4a4620-fe25-495a-b683-f76d0df4e62d">3,028</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idbb7975ed36949279e975cc1a3966a0e_D20211226-20220326" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTAtMTMtMS0xLTExMjg4OQ_1398e20d-bdf1-4b7c-b33f-e36fb376c660">29,872</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTAtMTUtMS0xLTExMjg4OQ_ead00335-6a39-4360-93d7-c467a9d552dc">29,872</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balances, March 26, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3ff2c806e5f347c0ae00509de906fa18_I20220326" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTEtMS0xLTEtMTEyODg5_0ad91d90-b031-4c5f-a210-2fc0a1dd2f76">78,166,212</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3ff2c806e5f347c0ae00509de906fa18_I20220326" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTEtMy0xLTEtMTEyODg5_5edc0763-19c4-4753-afea-049b16cfeba8">78</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaac882a5d3414c259c7fc8ecaccbf0a0_I20220326" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTEtOS0xLTEtMTEyODg5_18f32356-fedf-4f6a-9cd3-1b14bf3d67af">902,994</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i32e4c09f3f0e47188e92102334921a45_I20220326" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTEtMTEtMS0xLTExMjg4OQ_6247eecf-9ab2-45e9-866c-af2d6affb5cd">4,477</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ief2f47bde1ca4274a4b06dae3ef45982_I20220326" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTEtMTMtMS0xLTExMjg4OQ_f7731564-13a9-4cf4-af4c-4bd9312f5f95">51,922</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTEtMTUtMS0xLTExMjg4OQ_9177cec4-c6f5-42dc-a64f-0530feb6569c">846,673</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these condensed consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6</span></div></div></div><div id="ia6fb55369a22456888fa85eea58ff384_28"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FORMFACTOR, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:74.192%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.743%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash flows from operating activities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income </span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMy0xLTEtMS0xMTI4ODk_d2687208-a491-4eb1-832d-0a3e3a3b3816">1,342</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMy0zLTEtMS0xMTI4ODk_3b079332-adb1-4c4e-9ba6-1ce7711f3b15">29,872</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Adjustments to reconcile net income to net cash provided by operating activities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNS0xLTEtMS0xMTI4ODk_ffc64f4a-1051-49dc-8a2a-cfda03ddff1c">7,576</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNS0zLTEtMS0xMTI4ODk_ef441ef2-143e-4bf7-885f-2452e10dac78">6,960</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSoldAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNi0xLTEtMS0xMTI4ODk_df3710f0-409f-4b6c-873f-2a6913056484">2,378</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSoldAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNi0zLTEtMS0xMTI4ODk_9448a1c8-8347-43b6-a50b-134a795542df">2,369</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Reduction in the carrying amount of right-of-use assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNy0xLTEtMS0xMTI4ODk_bfbf9082-5d25-4672-bdf6-6c69de48ca18">1,690</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNy0zLTEtMS0xMTI4ODk_b4066079-8583-4279-9dbe-dd5638bbf05b">2,492</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfOC0xLTEtMS0xMTI4ODk_474471ab-2195-44d8-bc17-b911f0dc5c4f">9,290</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfOC0zLTEtMS0xMTI4ODk_bbf16c57-02aa-49c2-8469-239282bf2f34">7,520</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Provision for excess and obsolete inventories</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:InventoryWriteDown" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTAtMS0xLTEtMTEyODg5_356a4523-42ab-406e-86cf-9cff998fd396">4,973</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:InventoryWriteDown" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTAtMy0xLTEtMTEyODg5_6a562a50-85de-41de-9dca-937057bed9d3">2,501</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other adjustments to reconcile net income to net cash provided by operating activities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTMtMS0xLTEtMTEyODg5_8206dfad-c880-4619-8900-cc2f222af705">133</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTMtMy0xLTEtMTEyODg5_41b95f08-2397-48f4-90ed-01489d503ebd">182</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Changes in assets and liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTUtMS0xLTEtMTEyODg5_f0438e8b-3363-45a7-8c95-ed4b5e7c6820">15,926</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTUtMy0xLTEtMTEyODg5_2b98e1aa-9919-4f7e-9048-9471a899c599">966</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Inventories</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTYtMS0xLTEtMTEyODg5_85d6af76-8a19-45ef-be35-db0344c80a22">1,375</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTYtMy0xLTEtMTEyODg5_c79151d1-8fe7-49f2-af5a-3c471f8a38a7">17,080</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTctMS0xLTEtMTEyODg5_1f96aadd-81a5-4bce-9b6d-e30a3e7ba9c4">1,009</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTctMy0xLTEtMTEyODg5_661ca830-09d6-47ef-877c-8dc2392fdafc">144</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTgtMS0xLTEtMTEyODg5_42022d89-21e5-4a5b-95f9-a13506dfe431">55</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTgtMy0xLTEtMTEyODg5_2c09f063-b85a-4bd5-9b26-efbad5b72e09">73</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts payable</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTktMS0xLTEtMTEyODg5_ae8e7319-7ff5-4679-ba6e-e9c100dc78dd">1,819</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTktMy0xLTEtMTEyODg5_c6518c19-d327-49d5-bf31-8daa80dc931d">10,150</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjAtMS0xLTEtMTEyODg5_96989350-3647-4461-a038-11e5b1b31075">10,209</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjAtMy0xLTEtMTEyODg5_ee9ea925-0d9f-4231-843e-6d390705da89">3,120</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherDeferredLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjEtMS0xLTEtMTEyODg5_72c56951-205b-47df-bf6f-2acceb09e189">319</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherDeferredLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjEtMy0xLTEtMTEyODg5_dd49dc3a-a17a-4a94-9ea5-3f7544d06d49">87</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred revenues</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInDeferredRevenue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjItMS0xLTEtMTEyODg5_ece34e92-8b84-424c-850f-fcbfbe7d0b7f">6,046</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:IncreaseDecreaseInDeferredRevenue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjItMy0xLTEtMTEyODg5_766ebe52-a270-4fb4-9498-cbec4022e9b5">3,908</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Deferred grant</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="form:IncreaseDecreaseInDeferredGovernmentGrant" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjMtMS0xLTEtMTI1NDky_4c3d61d2-f3ea-4b34-aa9d-abb08b639e91">18,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ided587203dc647f5ac8875e74a42a418_D20211226-20221231" decimals="-3" name="form:IncreaseDecreaseInDeferredGovernmentGrant" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjMtMy0xLTEtMTI1NDky_7220982d-4b37-4679-8c5a-bd274e54f748">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjMtMS0xLTEtMTEyODg5_7033daa7-f365-4b45-ae56-02dacc909880">1,721</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjMtMy0xLTEtMTEyODg5_4b17ebe3-892d-4641-96b7-ff43051e3964">2,435</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash provided by operating activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjQtMS0xLTEtMTEyODg5_b3df44c9-81b3-47e1-8e4e-0ec4e1c85237">12,309</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjQtMy0xLTEtMTEyODg5_c2d32df1-f56b-48f2-b9f1-4be305b12722">44,155</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash flows from investing activities:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Acquisition of property, plant and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjYtMS0xLTEtMTEyODg5_eca36bb9-6bd7-4aa1-bf61-2a06534709a8">19,701</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjYtMy0xLTEtMTEyODg5_0341fa4c-ea9e-4e87-983a-c198d11d444c">15,606</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Purchases of marketable securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:PaymentsToAcquireMarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjgtMS0xLTEtMTEyODg5_6493a248-6613-4549-9565-4116067b8484">27,311</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:PaymentsToAcquireMarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjgtMy0xLTEtMTEyODg5_5d7925ef-374f-417c-aa8b-2f78154d89a8">23,462</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Proceeds from maturities and sales of marketable securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzAtMS0xLTEtMTEyODg5_5a321eeb-4a86-4b92-8705-10b4b8689648">33,473</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzAtMy0xLTEtMTEyODg5_ca4ab319-a5a4-43fc-9dc6-bd2ebd451ea9">17,990</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash used in investing activities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzEtMS0xLTEtMTEyODg5_a70cdbee-1679-47a2-8f21-c92a7aa736a2">13,539</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzEtMy0xLTEtMTEyODg5_7b29610e-d850-44eb-b058-09636b8bdedf">21,078</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash flows from financing activities:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Proceeds from issuances of common stock</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzMtMS0xLTEtMTEyODg5_4e233851-2854-4025-98d2-131a4502ec4d">5,024</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzMtMy0xLTEtMTEyODg5_d9bb7854-469e-44ac-8eff-967eee8a7bb1">5,687</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Purchase of common stock through stock repurchase program</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzQtMS0xLTEtMTEyODg5_a852f174-6c0b-4b56-b8a5-9c84609f746d">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzQtMy0xLTEtMTEyODg5_390997d1-4525-4f06-8d2e-85c49c00e694">9,397</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Tax withholdings related to net share settlements of equity awards</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzUtMS0xLTEtMTEyODg5_7849ac6c-624b-4113-9553-c1325843fa97">387</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzUtMy0xLTEtMTEyODg5_394bcd30-b25c-46a0-af50-531dd01e9dcd">72</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Principal repayments on term loans</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:RepaymentsOfLongTermDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzgtMS0xLTEtMTEyODg5_931cd3a0-69b8-4e1e-a806-923ea164e002">259</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:RepaymentsOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzgtMy0xLTEtMTEyODg5_c6bf93b9-b1c4-48b4-af18-fb10180f8ccc">2,234</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash provided by (used) in financing activities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDAtMS0xLTEtMTEyODg5_038f725b-c923-4bc4-add1-024fc40c320a">4,378</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDAtMy0xLTEtMTEyODg5_a4ec7c51-647c-42a7-b7e8-c6330f62f756">6,016</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effect of exchange rate changes on cash, cash equivalents and restricted cash</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" sign="-" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDEtMS0xLTEtMTEyODg5_0bef0edf-1f50-4bcd-8a96-87a5e7ac37a8">276</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDEtMy0xLTEtMTEyODg5_760c25bd-4d75-4d4a-b5c9-338539ccaf56">1,142</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net increase in cash, cash equivalents and restricted cash</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDItMS0xLTEtMTEyODg5_4b18281e-151b-4d77-9e28-9624860917a2">2,872</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDItMy0xLTEtMTEyODg5_141f1551-d946-431d-a1b6-afbc7abef9a4">15,919</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash, cash equivalents and restricted cash, beginning of period</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDMtMS0xLTEtMTEyODg5_150099dd-1c5f-4ff8-bee7-7580bf3b5de4">112,982</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idc0595bacd8744b39dc151edbaf37cf1_I20211225" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDMtMy0xLTEtMTEyODg5_4c72a4ae-6495-4f4f-ab0f-7e14d47f7e6e">155,342</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash, cash equivalents and restricted cash, end of period</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDQtMS0xLTEtMTEyODg5_ce6adbac-cc2b-409e-ac40-898094b63d22">115,854</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDQtMy0xLTEtMTEyODg5_8473ee5e-da08-46d3-9728-59c1e3e7c2d6">171,261</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these condensed consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FORMFACTOR, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(In thousands)</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.034%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.743%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Non-cash investing and financing activities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Decrease in accounts payable and accrued liabilities related to property, plant and equipment purchases</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="form:ChangeInCapitalExpendituresIncurredButNotYetPaid" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMy0xLTEtMS0xMTI4ODk_7e76ba23-286e-4363-a7bd-3601eb0e5a42">3,755</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="form:ChangeInCapitalExpendituresIncurredButNotYetPaid" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMy0zLTEtMS0xMTI4ODk_c48abf4f-992c-4d92-b8e8-951b7150e63b">2,524</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease, right-of-use assets obtained in exchange for lease obligations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfNS0xLTEtMS0xMTI4ODk_e10595f7-6811-4cde-bd67-657fb1722c5a">727</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfNS0zLTEtMS0xMTI4ODk_9e9e7a72-711f-4f22-aa0c-049fe12a6241">3,359</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Supplemental disclosure of cash flow information:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash paid for income taxes, net</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfOC0xLTEtMS0xMTI4ODk_c7c57ceb-a3d3-44fa-a9f2-83e48ad7c847">7,391</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfOC0zLTEtMS0xMTI4ODk_965ebb80-8478-4308-a1e6-63ccca9d7e86">890</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash paid for interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:InterestPaidNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfOS0xLTEtMS0xMTI4ODk_3dc031a2-469e-4d80-9cbc-986c2dc9126e">106</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:InterestPaidNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfOS0zLTEtMS0xMTI4ODk_f39690b5-d591-4423-8105-582d625c1485">163</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating cash outflows from operating leases</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:OperatingLeasePayments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTAtMS0xLTEtMTEyODg5_233b571b-e341-4a65-a50b-6d7b6718583b">2,191</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:OperatingLeasePayments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTAtMy0xLTEtMTEyODg5_8a8421ac-5afd-448b-9785-24c1152122e2">2,094</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Reconciliation of cash, cash equivalents and restricted cash:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTMtMS0xLTEtMTEyODg5_c000fc28-e45e-49ee-8050-ac6c9dc89435">112,360</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTMtMy0xLTEtMTEyODg5_70755597-e380-4c8e-ba09-e64326f242a8">167,182</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restricted cash, current</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:RestrictedCashCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTQtMS0xLTEtMTEyODg5_d953666e-dba7-46dc-aa2c-0408d8c71786">1,207</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326" decimals="-3" name="us-gaap:RestrictedCashCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTQtMy0xLTEtMTEyODg5_e0cd8f4f-beee-420a-ac9e-25d0d918ad26">2,026</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restricted cash, non-current</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:RestrictedCashNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTUtMS0xLTEtMTEyODg5_1938ca2d-4358-4013-9414-fe8e09060610">2,287</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326" decimals="-3" name="us-gaap:RestrictedCashNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTUtMy0xLTEtMTEyODg5_fe27bfaf-9090-4d1a-b164-75b531431d26">2,053</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total cash, cash equivalents and restricted cash</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTYtMS0xLTEtMTEyODg5_7dde449f-fc3c-46c6-9513-3310efb7ddae">115,854</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTYtMy0xLTEtMTEyODg5_00234752-7a74-40fb-8b27-edfecc8debca">171,261</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these condensed consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8</span></div></div></div><div id="ia6fb55369a22456888fa85eea58ff384_31"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FORMFACTOR,&#160;INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div><div style="text-align:center"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_34"></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 1 &#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNC9mcmFnOjFlMWY1ZjhhOTg2NzRmMWQ5MTgyY2JmMDMxODdhZjE2L3RleHRyZWdpb246MWUxZjVmOGE5ODY3NGYxZDkxODJjYmYwMzE4N2FmMTZfMjM5Nw_bdf96f4a-13f5-4ee7-9f80-7c73e1f515f1" continuedAt="i525385c8e9a848aeb2e96caa9a87ac27" escape="true">Basis of Presentation and Significant Accounting Policies</ix:nonNumeric></span></div><ix:continuation id="i525385c8e9a848aeb2e96caa9a87ac27" continuedAt="i94e5c5dbdff944f0904d1073da10c539"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNC9mcmFnOjFlMWY1ZjhhOTg2NzRmMWQ5MTgyY2JmMDMxODdhZjE2L3RleHRyZWdpb246MWUxZjVmOGE5ODY3NGYxZDkxODJjYmYwMzE4N2FmMTZfMjM5OQ_af1aaf61-fd34-4e41-895c-740529fc1db7" continuedAt="i4f95a61ef7fc4eda83171cbb4cb930dd" escape="true">Basis of Presentation</ix:nonNumeric></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i4f95a61ef7fc4eda83171cbb4cb930dd">The accompanying condensed consolidated financial information of FormFactor,&#160;Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;) and pursuant to the rules and regulations of the Securities and Exchange Commission (&#8220;SEC&#8221;). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year.</ix:continuation> </span></div><div style="text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:FiscalPeriod" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNC9mcmFnOjFlMWY1ZjhhOTg2NzRmMWQ5MTgyY2JmMDMxODdhZjE2L3RleHRyZWdpb246MWUxZjVmOGE5ODY3NGYxZDkxODJjYmYwMzE4N2FmMTZfMjQwNw_de5aa338-f9cb-4eee-9646-103c5cdedd30" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fiscal Year</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the three months ended April&#160;1, 2023 and March&#160;26, 2022 each contained 13 weeks. Fiscal 2023 will end on December&#160;30, 2023.</span></div></ix:nonNumeric><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Significant Accounting Policies</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our significant accounting policies have not changed during the three months ended April&#160;1, 2023 from those disclosed in our Annual Report on Form&#160;10-K for the year ended December&#160;31, 2022, except for:</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Government Assistance</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2023, we received $<ix:nonFraction unitRef="usd" contextRef="i00e80c9aa2ea4901855189b27c589d19_I20230131" decimals="-5" name="form:DeferredGovernmentGrantLiability" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNC9mcmFnOjFlMWY1ZjhhOTg2NzRmMWQ5MTgyY2JmMDMxODdhZjE2L3RleHRyZWdpb246MWUxZjVmOGE5ODY3NGYxZDkxODJjYmYwMzE4N2FmMTZfMjE5OTAyMzI2MzQ5NA_543231b6-dc66-4efe-b185-a033164d2c71">18.0</ix:nonFraction>&#160;million in cash from a California Competes Grant (the &#8220;Grant&#8221;) awarded from the California Governor&#8217;s Office of Business and Economic Development. The Grant requires FormFactor to create and maintain full-time jobs and make significant infrastructure investments within California over a <ix:nonNumeric contextRef="ie0957046a86843049088ea9ed3a1895b_D20230101-20230131" name="form:DeferredGovernmentGrantLiabilityTerm" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNC9mcmFnOjFlMWY1ZjhhOTg2NzRmMWQ5MTgyY2JmMDMxODdhZjE2L3RleHRyZWdpb246MWUxZjVmOGE5ODY3NGYxZDkxODJjYmYwMzE4N2FmMTZfMTY0OTI2NzQ0OTY2Ng_0fe9304c-57ee-47ed-a132-53f462154e8b">5-year</ix:nonNumeric> term. If we do not meet the requirements of the Grant, we will be required to repay all or a portion of the Grant.</span></div></ix:continuation><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i94e5c5dbdff944f0904d1073da10c539">The Grant is included in our Condensed Consolidated Balance Sheets within Deferred grant and we have elected to recognize when earned as an offset to Cost of revenues and Operating expenses within our Condensed Consolidated Statements of Income. We have elected to present the proceeds from the Grant as cash provided by operating activities within our Condensed Consolidated Statements of Cash Flows as the grant is to offset operations.</ix:continuation> </span></div><div style="text-align:justify"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_37"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 2 &#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ConcentrationRiskDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RleHRyZWdpb246N2M4NGU3MDkwZTM4NDFjNDkxZWYxYzIyYzQxODY5NDZfMzAz_2b7a7157-c047-49b8-9bd2-ee4cdc5c3e5b" continuedAt="i36020aaf54fd4c0bb6a60aac24ca8404" escape="true">Concentration of Credit and Other Risks</ix:nonNumeric></span></div><div style="text-align:justify"><span><br/></span></div><ix:continuation id="i36020aaf54fd4c0bb6a60aac24ca8404" continuedAt="ieb4da84f401d4268bea6cfe7c4896193"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RleHRyZWdpb246N2M4NGU3MDkwZTM4NDFjNDkxZWYxYzIyYzQxODY5NDZfMzA4_5d2edfd6-90d5-4a00-aeb8-cd8e0d1af95e" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Each of the following customers accounted for <ix:nonFraction unitRef="number" contextRef="i8f61c29d42d84a839dac357bdf551cbd_D20211226-20220326" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RleHRyZWdpb246N2M4NGU3MDkwZTM4NDFjNDkxZWYxYzIyYzQxODY5NDZfMTAx_0354ae0c-b1c4-4550-b260-912b604ad649"><ix:nonFraction unitRef="number" contextRef="i2bd9c1713c3842a490bcbe89811f8192_D20230101-20230401" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RleHRyZWdpb246N2M4NGU3MDkwZTM4NDFjNDkxZWYxYzIyYzQxODY5NDZfMTAx_e3e40a59-dbbb-4742-8019-50bf1facb16d">10</ix:nonFraction></ix:nonFraction>% or more of our revenues for the periods indicated: </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:72.291%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intel Corporation</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i9ce3e76bf9a74642b11ec3a276fe4c7c_D20230101-20230401" decimals="3" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RhYmxlOjE2NGIwMjVjOWQzYTQ5Y2NiZDU3NTdjZGZmNjBhY2E4L3RhYmxlcmFuZ2U6MTY0YjAyNWM5ZDNhNDljY2JkNTc1N2NkZmY2MGFjYThfMi0xLTEtMS0xMTI4ODk_cd70ea28-d0c9-4255-9fe1-32d2adc90ddd">20.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i3fc07b2edb714033ba67ccfe55d6557c_D20211226-20220326" decimals="3" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RhYmxlOjE2NGIwMjVjOWQzYTQ5Y2NiZDU3NTdjZGZmNjBhY2E4L3RhYmxlcmFuZ2U6MTY0YjAyNWM5ZDNhNDljY2JkNTc1N2NkZmY2MGFjYThfMi0zLTEtMS0xMTI4ODk_322c3134-717e-4272-a8d3-0345fd588d38">20.8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan Semiconductor Manufacturing Co., LTD.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i6212b6e5723c4b6f9f2ebff8a555dbdb_D20211226-20220326" decimals="3" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RhYmxlOjE2NGIwMjVjOWQzYTQ5Y2NiZDU3NTdjZGZmNjBhY2E4L3RhYmxlcmFuZ2U6MTY0YjAyNWM5ZDNhNDljY2JkNTc1N2NkZmY2MGFjYThfNC0zLTEtMS0xMTI4ODk_d9f4c1ea-b6dd-4873-a86e-aa3f89cd7f34">10.7</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i5a170ac9d3ef4129a40ad5018784d390_D20230101-20230401" decimals="3" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RhYmxlOjE2NGIwMjVjOWQzYTQ5Y2NiZDU3NTdjZGZmNjBhY2E4L3RhYmxlcmFuZ2U6MTY0YjAyNWM5ZDNhNDljY2JkNTc1N2NkZmY2MGFjYThfNy0xLTEtMS0xMTI4ODk_07f7d883-1b12-434d-ac2d-ce5ea963e78c">20.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i83ca9c3c1a9e4b7d8082ce044500c605_D20211226-20220326" decimals="3" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RhYmxlOjE2NGIwMjVjOWQzYTQ5Y2NiZDU3NTdjZGZmNjBhY2E4L3RhYmxlcmFuZ2U6MTY0YjAyNWM5ZDNhNDljY2JkNTc1N2NkZmY2MGFjYThfNy0zLTEtMS0xMTI4ODk_5113016e-47bb-425d-b818-5781d665e8e7">31.5</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="ieb4da84f401d4268bea6cfe7c4896193">At April&#160;1, 2023, two customers accounted for <ix:nonFraction unitRef="number" contextRef="ia638802d47c74b66b59ed61498fab5c2_D20230101-20230401" decimals="3" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RleHRyZWdpb246N2M4NGU3MDkwZTM4NDFjNDkxZWYxYzIyYzQxODY5NDZfNTQ5NzU1ODE0MjA4_3c43f5bf-1616-4a63-b787-8a7db2096faf">17.9</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="ib020faff8b7b483492b04e4fd5b4917f_D20230101-20230401" decimals="3" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RleHRyZWdpb246N2M4NGU3MDkwZTM4NDFjNDkxZWYxYzIyYzQxODY5NDZfMTky_6312cbbc-cd19-4d90-a0eb-47e66d998298">15.9</ix:nonFraction>% of gross accounts receivable, respectively. At December&#160;31, 2022, one customer accounted for <ix:nonFraction unitRef="number" contextRef="i27d2b169cc3745228e0efe2854e2a769_D20211226-20221231" decimals="3" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RleHRyZWdpb246N2M4NGU3MDkwZTM4NDFjNDkxZWYxYzIyYzQxODY5NDZfMjU4_6d0e83ac-e6e1-4c20-bc57-295ade467e9c">13.8</ix:nonFraction>% of gross accounts receivable.</ix:continuation> </span></div><div style="text-align:justify"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_40"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 3 &#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:InventoryDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RleHRyZWdpb246YmM3MmNmYmNjZGQ3NDI0NjljMzZmZGUwYTcwYWViNjdfMjc1_7da18e85-2a38-4a47-a25d-e775b34ec9e7" continuedAt="i21d8a5911ce04a36b1d4982465774488" escape="true">Inventories, net </ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="i21d8a5911ce04a36b1d4982465774488" continuedAt="ieb390d18313d4932b39068b4fa66a193"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are stated at the lower of cost (principally standard cost, which approximates actual cost on a first in, first out basis) or net realizable value.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="ieb390d18313d4932b39068b4fa66a193"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RleHRyZWdpb246YmM3MmNmYmNjZGQ3NDI0NjljMzZmZGUwYTcwYWViNjdfMjYz_3dba0486-4e1f-4cc1-9c4d-8cc84e48e7bb" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories, net, consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:InventoryRawMaterialsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfMS0xLTEtMS0xMTI4ODk_9c7342de-2f6b-4ced-a1b1-5dc718660832">57,748</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:InventoryRawMaterialsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfMS0zLTEtMS0xMTI4ODk_aea2110f-5b15-43f5-ac1a-f22d06d844b4">55,726</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Work-in-progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:InventoryWorkInProcessNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfMi0xLTEtMS0xMTI4ODk_e34940d8-8560-403e-b958-0b39e8fb091c">39,376</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:InventoryWorkInProcessNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfMi0zLTEtMS0xMTI4ODk_66c3099b-54c8-47fc-a88f-1638a7114519">46,067</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:InventoryFinishedGoodsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfMy0xLTEtMS0xMTI4ODk_8735e8be-f0af-4304-a54f-ed94e844e335">19,429</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:InventoryFinishedGoodsNetOfReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfMy0zLTEtMS0xMTI4ODk_2ff01089-1019-4576-b1e6-cca37ff82bc8">21,364</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfNC0xLTEtMS0xMTI4ODk_53668b99-edac-4452-b504-e1b5edba7bb1">116,553</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfNC0zLTEtMS0xMTI4ODk_074f9fdc-7010-42c0-947e-e7182debd1c6">123,157</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="text-align:justify"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_46"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 4</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:IntangibleAssetsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RleHRyZWdpb246NjkzNmNhMDFkMWU1NDVjNDllZDI4ZjgzYjNhNWMwODhfNTMx_9c2ed256-ba85-4df2-90c8-3931faabcbeb" continuedAt="if475cc3c1017487ebadaf9cd28dc2cf6" escape="true">Goodwill and Intangible Assets </ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="if475cc3c1017487ebadaf9cd28dc2cf6"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfGoodwillTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RleHRyZWdpb246NjkzNmNhMDFkMWU1NDVjNDllZDI4ZjgzYjNhNWMwODhfNTE3_6fc9baa6-4fd1-4d8b-97fa-f1ab2d3cd070" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill by reportable segment was as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:59.572%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.330%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of December 25, 2021</span></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibba6fed22a3948b88e804a339b227c77_I20211225" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfMS0yLTEtMS0xMTI4ODk_46496234-0fc6-4a8a-86fd-9b98a6b5441a">178,424</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i61235faefd0344219da355b547a3a31c_I20211225" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfMS00LTEtMS0xMTI4ODk_11a6aa93-b1da-4603-93e7-848f0908fc67">33,875</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idc0595bacd8744b39dc151edbaf37cf1_I20211225" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfMS02LTEtMS0xMTI4ODk_4a9ba4f3-c85f-4559-9455-959cf47a44db">212,299</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Addition - Woburn Acquisition</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4ee0090ed4914eb28cc6da729ef97536_D20211226-20220625" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNC0yLTEtMS0xMTI4ODk_44687603-740b-474d-a589-04c3a18e88a7">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i86045bc3758f4f4484b5297c3bc8c0e7_D20211226-20220625" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNC00LTEtMS0xMTI4ODk_a11041b8-cf04-4425-95e7-4215dbfaf096">550</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4da93390065c4f1399eac3c1a493d7b7_D20211226-20220625" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNC02LTEtMS0xMTI4ODk_e75a5180-4cd6-4249-833d-7ea30d22b8cd">550</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idbb674e34b5d47c6a47810c486105126_D20211226-20220625" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNS0yLTEtMS0xMTI4ODk_4552e477-6e32-461e-970a-aca32e245bc1">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i08dcf133ad3e4264826391d8fddac314_D20211226-20220625" decimals="-3" sign="-" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNS00LTEtMS0xMTI4ODk_c6826bad-2af2-4c40-ab5b-88efef1f3121">1,405</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i787d2864f74147c1a8565860ffdcc26c_D20211226-20220625" decimals="-3" sign="-" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNS02LTEtMS0xMTI4ODk_3d1b8b12-a14a-4e62-bda7-802c56b80ad2">1,405</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of December 31, 2022</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7b1436d4c3944dbfa2bc5432edeaf920_I20221231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNi0yLTEtMS0xMTI4ODk_bd8248fc-cb45-45ad-8095-f28add970cd9">178,424</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73cc1e79bbb7440da6ad5094c9875ff1_I20221231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNi00LTEtMS0xMTI4ODk_d562af94-64f8-4ea3-90db-9fb57f6f0c99">33,020</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNi02LTEtMS0xMTI4ODk_f82e3f75-393c-4cf6-9b3e-dc138f9b4066">211,444</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c18bf3d5fc448e58ed4984c43215955_D20230101-20230401" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfOS0yLTEtMS0xMTI4ODk_f138111d-f248-41a4-b54f-43bea9e741fa">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i053bfe5a4e704c5b922d9931322549aa_D20230101-20230401" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfOS00LTEtMS0xMTI4ODk_5eb9afe7-f5b9-4260-a25f-6f20d4e7cbe3">329</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfOS02LTEtMS0xMTI4ODk_b6b41819-6355-47a8-b708-d89b5b07dedd">329</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of April 1, 2023</span></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1490b90e4b184f60afb9afb68d2263d3_I20230401" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfMTAtMi0xLTEtMTEyODg5_df0c25d4-3669-47cf-a8d1-057379170635">178,424</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1fe2d4d1b9fd4e6e9f2a29dfb56afb2e_I20230401" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfMTAtNC0xLTEtMTEyODg5_ee87b59d-b97b-4e53-85e7-57da62011fc6">33,349</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfMTAtNi0xLTEtMTEyODg5_91a849ae-faf7-4c51-817b-2eb7900c1feb">211,773</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="text-indent:18pt"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have <ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="INF" name="us-gaap:GoodwillImpairmentLoss" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RleHRyZWdpb246NjkzNmNhMDFkMWU1NDVjNDllZDI4ZjgzYjNhNWMwODhfMTIw_33068475-8d80-48fa-a406-085bfcf97ef8">no</ix:nonFraction>t recorded goodwill impairments for the three months ended April&#160;1, 2023.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RleHRyZWdpb246NjkzNmNhMDFkMWU1NDVjNDllZDI4ZjgzYjNhNWMwODhfNTA0_f3cda7e6-0e06-4f42-be2f-858fd4eed164" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets were as follows (in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:26.239%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.011%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Intangible Assets </span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Existing developed technologies </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifb1843046ac64a248f026149e342f005_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMi0yLTEtMS0xMTI4ODk_55825bf0-c138-421c-9fd6-51b19ae17bc5">171,750</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifb1843046ac64a248f026149e342f005_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMi00LTEtMS0xMTI4ODk_8d2fbe3e-2d5b-4781-a928-1c68d2ea00ef">152,260</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifb1843046ac64a248f026149e342f005_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMi02LTEtMS0xMTI4ODk_b9e7d780-6717-48c4-abed-da5c2d743304">19,490</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iff374ecbf3964ab8b4a146c18ee29ba8_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMi04LTEtMS0xMTI4ODk_ce90dcf1-0cec-4df0-bedf-631ae40bab95">171,441</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iff374ecbf3964ab8b4a146c18ee29ba8_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMi0xMC0xLTEtMTEyODg5_830e8e8e-8a9b-439b-ad83-3ff6755d831d">151,212</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iff374ecbf3964ab8b4a146c18ee29ba8_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMi0xMi0xLTEtMTEyODg5_0da9cf49-b193-406a-893d-45c48cd475b9">20,229</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9e29c276f3ed4682beafdca282c93b22_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMy0yLTEtMS0xMTI4ODk_09768724-9f60-4ce1-8960-3b8793fc07b4">50,996</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9e29c276f3ed4682beafdca282c93b22_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMy00LTEtMS0xMTI4ODk_c30164e7-601e-4a59-afa4-9d4be2930b0f">46,559</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9e29c276f3ed4682beafdca282c93b22_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMy02LTEtMS0xMTI4ODk_76501a71-ebf7-4473-861a-c4b2726e9e1b">4,437</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3707ece5481a49ada21db88d0ec7429a_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMy04LTEtMS0xMTI4ODk_23dd8104-9fae-4ed4-a338-121fda18b08d">50,912</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3707ece5481a49ada21db88d0ec7429a_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMy0xMC0xLTEtMTEyODg5_a77c65a2-823e-4c00-b7cf-cedd66de01f2">45,003</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3707ece5481a49ada21db88d0ec7429a_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMy0xMi0xLTEtMTEyODg5_4182cbd6-66f6-4216-9ae0-c8b86aebf37e">5,909</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic57bd9b989644bbface3ee0cea59de3b_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNC0yLTEtMS0xMTI4ODk_2d054c8e-0a87-4ea1-a031-d080ee7bdc93">7,992</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic57bd9b989644bbface3ee0cea59de3b_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNC00LTEtMS0xMTI4ODk_42606d55-cce9-4d9c-a09d-a118ae8a40b7">7,833</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic57bd9b989644bbface3ee0cea59de3b_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNC02LTEtMS0xMTI4ODk_a8bcf1db-25d0-4769-a48a-8c96b517e76c">159</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5b1b8c96fc6b45fd9d75e38af2441b09_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNC04LTEtMS0xMTI4ODk_94e4124c-c0d2-483b-9480-525e7fc81f2a">7,972</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5b1b8c96fc6b45fd9d75e38af2441b09_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNC0xMC0xLTEtMTEyODg5_27d80a74-c50b-45f0-ad68-e8a462265720">7,759</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5b1b8c96fc6b45fd9d75e38af2441b09_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNC0xMi0xLTEtMTEyODg5_2f8205df-5a4f-4836-9433-30a76558256f">213</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">In-process research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if07f490cee574b3ebf3fee7e00987307_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNi0yLTEtMS0xMTI4ODk_dcf6530c-3fde-4fc3-add1-021423939aa4">400</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if07f490cee574b3ebf3fee7e00987307_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNi00LTEtMS0xMTI4ODk_45db4650-9720-48b6-8907-3d9b321bd016">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if07f490cee574b3ebf3fee7e00987307_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNi02LTEtMS0xMTI4ODk_a7fe68c3-326c-4192-b9ce-67de3cbc39a8">400</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6872f899bfb240559c2a9801190e591d_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNi04LTEtMS0xMTI4ODk_86949992-32b3-4bc8-bfa8-9d4295383bf8">400</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6872f899bfb240559c2a9801190e591d_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNi0xMC0xLTEtMTEyODg5_9c0e891e-432f-489f-aea4-ef58f3100cb7">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6872f899bfb240559c2a9801190e591d_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNi0xMi0xLTEtMTEyODg5_47837699-e55d-4104-9ab1-efbc45a68965">400</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNy0yLTEtMS0xMTI4ODk_d9c8da45-b7c4-4cbd-b696-c3ddf0b1335e">231,138</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNy00LTEtMS0xMTI4ODk_71f64755-a1f1-41bf-a820-458eeb3439c5">206,652</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNy02LTEtMS0xMTI4ODk_a39a19a5-1afd-4b68-9450-bd1ae82f7032">24,486</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNy04LTEtMS0xMTI4ODk_14a494e7-f503-4ee9-beb3-a23d0dd47b3c">230,725</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNy0xMC0xLTEtMTEyODg5_3bd945c5-a6c4-4bad-8088-5a02f05ef9c2">203,974</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNy0xMi0xLTEtMTEyODg5_c262c60d-8a54-44ad-8077-b18726815fd5">26,751</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RleHRyZWdpb246NjkzNmNhMDFkMWU1NDVjNDllZDI4ZjgzYjNhNWMwODhfNTIx_b3d5a91e-d913-49af-9e80-710940454c47" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.169%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i78b0bbf163f04290aa5a52fa5469e112_D20230101-20230401" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjc0MTk0OTc0ZmM4NDQ1Yjg4MjAwNmZiOGU3YzBjZDJmL3RhYmxlcmFuZ2U6NzQxOTQ5NzRmYzg0NDViODgyMDA2ZmI4ZTdjMGNkMmZfMi0xLTEtMS0xMTI4ODk_3b6d4ee8-5e2c-4956-b065-b2be79449f73">831</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if6dd5f1b0ef94564a4e3df06f5b2d467_D20211226-20220326" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjc0MTk0OTc0ZmM4NDQ1Yjg4MjAwNmZiOGU3YzBjZDJmL3RhYmxlcmFuZ2U6NzQxOTQ5NzRmYzg0NDViODgyMDA2ZmI4ZTdjMGNkMmZfMi0zLTEtMS0xMTI4ODk_15672cc7-3528-45a9-b8c0-01bbdb5e0c71">808</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifc9a948ca0a44616805210608e46d25f_D20230101-20230401" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjc0MTk0OTc0ZmM4NDQ1Yjg4MjAwNmZiOGU3YzBjZDJmL3RhYmxlcmFuZ2U6NzQxOTQ5NzRmYzg0NDViODgyMDA2ZmI4ZTdjMGNkMmZfMy0xLTEtMS0xMTI4ODk_c294e7f0-94b5-4dc0-b610-fadd255da56a">1,547</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0488de2642dd428e91439109c44b266c_D20211226-20220326" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjc0MTk0OTc0ZmM4NDQ1Yjg4MjAwNmZiOGU3YzBjZDJmL3RhYmxlcmFuZ2U6NzQxOTQ5NzRmYzg0NDViODgyMDA2ZmI4ZTdjMGNkMmZfMy0zLTEtMS0xMTI4ODk_0be6d4ab-bd2a-4d07-ac7a-7186fec479d6">1,561</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjc0MTk0OTc0ZmM4NDQ1Yjg4MjAwNmZiOGU3YzBjZDJmL3RhYmxlcmFuZ2U6NzQxOTQ5NzRmYzg0NDViODgyMDA2ZmI4ZTdjMGNkMmZfNC0xLTEtMS0xMTI4ODk_85830811-b9be-4f16-b924-fe32f3ef67f5">2,378</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjc0MTk0OTc0ZmM4NDQ1Yjg4MjAwNmZiOGU3YzBjZDJmL3RhYmxlcmFuZ2U6NzQxOTQ5NzRmYzg0NDViODgyMDA2ZmI4ZTdjMGNkMmZfNC0zLTEtMS0xMTI4ODk_95bd5e1c-fadc-4291-953a-d2c4fced3caa">2,369</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RleHRyZWdpb246NjkzNmNhMDFkMWU1NDVjNDllZDI4ZjgzYjNhNWMwODhfNTI3_30ebe0ab-95de-480c-abff-9742c882e765" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fiscal Year</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjhlNzgyMzk4YjJjNTQzZWI5N2NjZmQ0ODBlMjFmZDE5L3RhYmxlcmFuZ2U6OGU3ODIzOThiMmM1NDNlYjk3Y2NmZDQ4MGUyMWZkMTlfMS0yLTEtMS0xMTI4ODk_48e03b2e-aa98-4aef-8fa7-162b50572e7e">4,813</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjhlNzgyMzk4YjJjNTQzZWI5N2NjZmQ0ODBlMjFmZDE5L3RhYmxlcmFuZ2U6OGU3ODIzOThiMmM1NDNlYjk3Y2NmZDQ4MGUyMWZkMTlfMi0yLTEtMS0xMTI4ODk_a926e7f5-be4e-4e0b-854c-e973e95950bc">4,611</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjhlNzgyMzk4YjJjNTQzZWI5N2NjZmQ0ODBlMjFmZDE5L3RhYmxlcmFuZ2U6OGU3ODIzOThiMmM1NDNlYjk3Y2NmZDQ4MGUyMWZkMTlfMy0yLTEtMS0xMTI4ODk_92d04e86-88a3-4667-a82b-cc5d6dd51f8c">4,268</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjhlNzgyMzk4YjJjNTQzZWI5N2NjZmQ0ODBlMjFmZDE5L3RhYmxlcmFuZ2U6OGU3ODIzOThiMmM1NDNlYjk3Y2NmZDQ4MGUyMWZkMTlfNC0yLTEtMS0xMTI4ODk_7adc0450-4088-4f11-92fb-9cf37ef292db">3,175</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjhlNzgyMzk4YjJjNTQzZWI5N2NjZmQ0ODBlMjFmZDE5L3RhYmxlcmFuZ2U6OGU3ODIzOThiMmM1NDNlYjk3Y2NmZDQ4MGUyMWZkMTlfNS0yLTEtMS0xMTI4ODk_7f82a52a-c0be-4b54-98fa-411bb6b69246">2,832</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="form:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjhlNzgyMzk4YjJjNTQzZWI5N2NjZmQ0ODBlMjFmZDE5L3RhYmxlcmFuZ2U6OGU3ODIzOThiMmM1NDNlYjk3Y2NmZDQ4MGUyMWZkMTlfNi0yLTEtMS0xMTI4ODk_6742a500-0383-494a-96b6-6f24953a001f">4,387</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="form:FiniteLivedIntangibleAssetsAmortizationExpenseTotal" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjhlNzgyMzk4YjJjNTQzZWI5N2NjZmQ0ODBlMjFmZDE5L3RhYmxlcmFuZ2U6OGU3ODIzOThiMmM1NDNlYjk3Y2NmZDQ4MGUyMWZkMTlfNy0yLTEtMS0xMTI4ODk_6cdcd5ed-4c3c-4ce1-9a9b-4fbcb416564b">24,086</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10</span></div></div></div><div id="ia6fb55369a22456888fa85eea58ff384_49"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 5</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RleHRyZWdpb246Zjk3NWNhNjc3NmNmNDRiN2FhMzIyYmI1ZDNmNjVjODRfMTAx_0d0a5c61-a06a-4f4e-9cc8-b3228ee6d753" continuedAt="i439de88a2dbe46c79cd33d834faf4f80" escape="true">Accrued Liabilities</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="i439de88a2dbe46c79cd33d834faf4f80"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RleHRyZWdpb246Zjk3NWNhNjc3NmNmNDRiN2FhMzIyYmI1ZDNmNjVjODRfMTA0_d242aec2-1555-4643-b1e5-b15f309ef9b1" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued compensation and benefits</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfMS0xLTEtMS0xMTI4ODk_faf08407-8e74-4d85-ab0d-bb0a7cfcdbc0">20,028</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfMS0zLTEtMS0xMTI4ODk_4d021a09-63e8-4186-942f-b466109b8986">15,864</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued income and other taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:TaxesPayableCurrentAndNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfMi0xLTEtMS0xMTI4ODk_f77a28d9-6e38-4388-bb1a-81c3e86126da">3,241</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:TaxesPayableCurrentAndNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfMi0zLTEtMS0xMTI4ODk_2acc8566-9ef5-4ffa-b0a8-5ca67f5f1b30">12,817</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued warranty</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfMy0xLTEtMS0xMTI4ODk_c6654812-56d9-4032-b182-03ff5354fb85">3,872</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfMy0zLTEtMS0xMTI4ODk_f499fab6-620e-488d-bfb5-656b3a1f7dcf">4,199</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee stock purchase plan contributions withheld</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:AccruedEmployeeBenefitsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNC0xLTEtMS0xMTI4ODk_dfaaa711-f9a6-42a9-844f-56a5c56f2d43">1,533</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:AccruedEmployeeBenefitsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNC0zLTEtMS0xMTI4ODk_cc67fb23-cae4-4bd4-9c8b-84d38fe1e0be">4,585</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued restructuring charges</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:RestructuringReserve" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNS0xLTEtMS0xMTI4ODk_0e398cd3-37d1-40db-8530-74e05d175c3b">376</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNS0zLTEtMS0xMTI4ODk_f8be6ad2-c3c2-4f1a-a8f0-00d60832ee9f">1,249</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other accrued expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNi0xLTEtMS0xMTI4ODk_bbedd945-c804-4309-b0b2-36f4c5303709">2,931</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNi0zLTEtMS0xMTI4ODk_49a3053b-6f94-4b79-8a3f-45c2e1e804fd">3,401</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNy0xLTEtMS0xMTI4ODk_e81ee9bb-b6b7-41a1-b61c-ac79df73029e">31,981</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNy0zLTEtMS0xMTI4ODk_9be55f95-a4ae-4b65-9ffb-d62781a3629b">42,115</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_52"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 6</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMjQ0Mg_e47d0867-63ef-42c1-9d7a-26634267cf1c" continuedAt="i287b173d226f46a3beca1872aca80116" escape="true">Restructuring Charges</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="i287b173d226f46a3beca1872aca80116" continuedAt="i9529bd32259a4ed09d150dd90b3d500d"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">2022 Restructuring Plan</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 25, 2022, we adopted a restructuring plan (&#8220;2022 restructuring plan&#8221;) to align our cost structure with reduced demand levels, by streamlining and improving the efficiency and business effectiveness of our operations. This plan included lowering headcount by approximately <ix:nonFraction unitRef="number" contextRef="i0958eaad30e349a884297b4aa3f8860a_D20221025-20221025" decimals="2" name="us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMjk4NDM_305b822a-78f6-419a-9ac8-4f250e390763">13</ix:nonFraction>% of our workforce. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has recognized 2022 restructuring plan charges of approximately $<ix:nonFraction unitRef="usd" contextRef="idf707cb5d0904c859a0841754f684d0e_D20221025-20230401" decimals="-5" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcxOTYwMA_93effd44-96e7-4652-9682-4f0f797802e4">8.1</ix:nonFraction> million for severance and employee-related costs, including $<ix:nonFraction unitRef="usd" contextRef="i4ae9c9dd293147e6b89a5a2d1f5dfbd4_D20221025-20230401" decimals="-5" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcxOTY1Ng_62846740-9307-4d68-bab7-05504d206aa7">0.3</ix:nonFraction> million for stock-based compensation, with $<ix:nonFraction unitRef="usd" contextRef="icfea74563a7d493187ff71b2baa6e2cb_D20221025-20230401" decimals="-5" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcxOTcxNQ_f0a4b73c-0bdc-49e5-919f-c7773c3debe9">7.1</ix:nonFraction> million within the Probe Cards segment, $<ix:nonFraction unitRef="usd" contextRef="id3ae4b8d72074a72a5160796d7ce9573_D20221025-20230401" decimals="-5" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcxOTc1MQ_bd8c8fbf-ec3c-4ad1-9770-3d6a37a0291e">0.5</ix:nonFraction> million within the Systems segment, and $<ix:nonFraction unitRef="usd" contextRef="i06fbc933985b4655a9aff52944bc5af9_D20221025-20230401" decimals="-5" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMTY0OTI2NzQ3MTg4Ng_41bb2812-cd05-4f9e-a842-bb9bbe863c74">0.5</ix:nonFraction>&#160;million within Corporate. We do not expect to incur additional material costs related to the 2022 restructuring plan.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">2021 Restructuring Plan</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On September 25, 2021, we adopted restructuring plans (&#8220;2021 restructuring plans&#8221;) to improve our business effectiveness and streamline our operations by consolidating certain manufacturing facilities for both the Probe Cards segment and the Systems segment. This included plans to consolidate or relocate certain leased locations in the United States to other locations in the United States, Germany and Asia. As a result of these changes to certain work locations, we have incurred personnel related costs to sever, relocate, or retain select employees. Additionally, as part of these plans we have undertaken actions to adjust capacity for certain product offerings, which included contract termination costs to satisfy contract obligations. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has recognized 2021 restructuring plans charges of approximately $<ix:nonFraction unitRef="usd" contextRef="iadc9493ef2b64363a6f9770b4ffdc77b_D20210925-20230401" decimals="-5" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcyMDcxNg_9f4087a4-7c68-4c99-92b8-e22092b5ad99">12.7</ix:nonFraction> million, with $<ix:nonFraction unitRef="usd" contextRef="i8e8e2a9a573b43e2a5c4893efdda0854_D20210925-20230401" decimals="-5" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMTA5OTUxMTY1Nzc3OA_8961a7bb-dd2a-4b31-99fe-dc427da70dad">9.9</ix:nonFraction> million within the Probe Cards segment and $<ix:nonFraction unitRef="usd" contextRef="i82356ea908b04353934bc18b6d2496fd_D20210925-20230401" decimals="-5" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMTA5OTUxMTY1Nzc4NQ_abd17fad-ef5d-497a-837d-21759b349538">2.8</ix:nonFraction> million within the Systems segment, and were comprised of $<ix:nonFraction unitRef="usd" contextRef="i2f2445e6cc2a4500a556de88f35238c7_D20210925-20230401" decimals="-5" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcyMDczNA_f440c688-c696-4d21-9eee-1ddd3c779014">1.3</ix:nonFraction> million of severance and employee-related costs, $<ix:nonFraction unitRef="usd" contextRef="ie7c3398a457c44cda51be5ecc8994d54_D20210925-20230401" decimals="-5" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcyMDc3OQ_709aabe0-56d1-447a-a09e-8f79a5759e4f">1.8</ix:nonFraction> million in contract and lease termination costs, $<ix:nonFraction unitRef="usd" contextRef="id47356aa381a4938b76f1128ee97b6fa_D20210925-20230401" decimals="-5" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcyMDgyNA_53b7afd0-292a-4fcd-b325-e4c6866aea86">9.1</ix:nonFraction> million in inventory impairments and other inventory related costs, and $<ix:nonFraction unitRef="usd" contextRef="iaf3b01558b2049ed937c42f62a0627f6_D20210925-20230401" decimals="-5" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcyMDg5Mg_ff28a74c-9960-4ba3-9f97-1ab869bd14dc">0.5</ix:nonFraction> million of cost related to impairment of leasehold improvements, facility exits and fixed asset related costs. We do not expect additional material costs related to the 2021 restructuring plan.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMjQ0Mw_80052398-95d5-4042-91ed-11af11d2270d" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:31.063%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.581%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1b7db1c7bec499cae220a7549bfd324_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfMy0xLTEtMS0xMjY2MTI_f56374dc-dac6-4834-adf0-c28ba8e03c26">70</ix:nonFraction>&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i95896d91f6c44056853b89c521a8c75d_D20230101-20230401" decimals="-3" sign="-" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfMy0zLTEtMS0xMjY2MTI_1ce32e0a-c2b9-447d-bc7e-c8ee67b05123">45</ix:nonFraction>)</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i78b0bbf163f04290aa5a52fa5469e112_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfMy01LTEtMS0xMjY2MTI_f83e3f25-2dec-462e-a277-a9cd735c839e">25</ix:nonFraction>&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49eafed3fbe541a19d657a7fb5fa4133_D20211226-20220326" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfMy03LTEtMS0xMjY2MTI_2b20dbc4-c56a-4030-ad32-e521744f5b3b">39</ix:nonFraction>&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6282743fb1d849a5bf3e665300455e70_D20211226-20220326" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfMy05LTEtMS0xMjY2MTI_a0c52532-5a22-4533-8653-bdb1bda0c7b1">100</ix:nonFraction>&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if6dd5f1b0ef94564a4e3df06f5b2d467_D20211226-20220326" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfMy0xMS0xLTEtMTI2NjEy_97d7c931-ed38-4192-bbbd-3d8df9e04dd6">139</ix:nonFraction>&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic9b224454d814ffdb129c67210d8fbf0_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNC0xLTEtMS0xMjY2MTI_86581ca3-18b7-4445-bebd-b9e33b31b3a1">4</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8d7c7158b86349b0b673e386ab23f4d1_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNC0zLTEtMS0xMjY2MTI_20483b86-9dea-4d6a-bf7b-7a73adb0dc73">66</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib5fb47f1ee4a4d55acbda6cc986d0e2f_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNC01LTEtMS0xMjY2MTI_33f66284-78bf-4f92-af69-0a6451dfd395">70</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3601140a1b5d48cbb74545450b7b49a1_D20211226-20220326" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNC03LTEtMS0xMjY2MTI_363cac98-10f2-474e-b9eb-2e5ac9cb3177">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6582efeb97c740f2ad2d4044af6c2ff9_D20211226-20220326" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNC05LTEtMS0xMjY2MTI_b2873dfe-dcf5-41d8-8503-1d85ddf38bb9">146</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic132082e7576428b9814f8d5ff660918_D20211226-20220326" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNC0xMS0xLTEtMTI2NjEy_41eecb99-c563-478c-b823-2427e3bf50e0">146</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b78b68007a54f6fbc15c14d492d2b2c_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNS0xLTEtMS0xMjY2MTI_6851574e-794f-488c-8ffd-0902935cfcfb">1,060</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5cbc20d07e044df58c256b505f1b70ab_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNS0zLTEtMS0xMjY2MTI_5a86de1d-d160-4398-a5e0-05c734b49ba5">62</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifc9a948ca0a44616805210608e46d25f_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNS01LTEtMS0xMjY2MTI_8c11149b-9231-407b-9c58-340261e70bc9">1,122</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i05bb199b856b4bfabf594e1eda7607b8_D20211226-20220326" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNS03LTEtMS0xMjY2MTI_8fed9887-9757-4302-83c6-9036af0ece29">3</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i12895a6ccb9943618c0b4a6e94058610_D20211226-20220326" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNS05LTEtMS0xMjY2MTI_27fcad31-57ca-4fa5-9c32-85bd3764ce72">25</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0488de2642dd428e91439109c44b266c_D20211226-20220326" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNS0xMS0xLTEtMTI2NjEy_0a4edd3c-ceff-49f8-b853-9702f76b8ae8">28</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c18bf3d5fc448e58ed4984c43215955_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNi0xLTEtMS0xMjY2MTI_4946f5d6-5b17-46cf-b525-9ec5f3c02e32">1,134</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i053bfe5a4e704c5b922d9931322549aa_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNi0zLTEtMS0xMjY2MTI_ef2cb0f1-1bff-47fa-8350-eee6fa235b06">83</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNi01LTEtMS0xMjY2MTI_27fc63a8-3f80-40b5-b501-c9d7d9ee0e8e">1,217</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i54f2f2fa7e50416aa38c90bcc04d78f8_D20211226-20220326" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNi03LTEtMS0xMjY2MTI_2bac3e58-510c-4815-aa9a-432915f9b3a2">42</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifa49921cb7384c388de263ba1beea208_D20211226-20220326" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNi05LTEtMS0xMjY2MTI_356432e5-eaee-4071-b529-37dd1381bf41">271</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNi0xMS0xLTEtMTI2NjEy_cf344666-5bc1-45b1-9e2f-60750c8dd884">313</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:justify"><span><br/></span></div><ix:continuation id="i9529bd32259a4ed09d150dd90b3d500d"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMjQ0NA_5d64c591-1aa5-4982-8545-9d42f36b8b1e" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes to the restructuring accrual in the three months ended April&#160;1, 2023 were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:37.350%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:13.524%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Employee Severance<br/>and Benefits</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Stock-based Compensation</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Inventory<br/>Impairments &amp;<br/>Other Inventory<br/>Related Costs</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib27b3962f9b24e249e27e49b51686691_I20221231" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMS0xLTEtMS0xMTI4ODk_3a2fa38f-693f-4d3f-984b-da95f098180e">1,249</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7ba599ea2b044831ac6696e62539a8fc_I20221231" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMS0zLTEtMS0xMjY5MzY_1ad65b60-3eab-4580-99a5-9bc0598b543b">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7660898fbe044fa9a6043299774901f9_I20221231" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMS0zLTEtMS0xMTI4ODk_75841249-b1e4-465c-9b47-94a0a86e1f0f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMS0xMS0xLTEtMTEyODg5_1785573e-f47b-4315-a358-c67a81874e5d">1,249</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restructuring charges</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5741ed4afdeb4572a757cfa071739f4e_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMi0xLTEtMS0xMTI4ODk_dca841fd-6b1b-4d0e-9057-2b06c4f6e449">842</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8ca442f49dd4434c98f14186852a6786_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMi0zLTEtMS0xMjY5MzY_684c6a13-15e8-43ad-a883-42eeb40cc329">295</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i38cd5a7836bd4023867cd8ed3e14feed_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMi0zLTEtMS0xMTI4ODk_88feae8b-3b83-4097-bff4-b7b65471b1a4">80</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMi0xMS0xLTEtMTEyODg5_a7dc98ca-9d65-40cf-80d7-903b52d2569e">1,217</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5741ed4afdeb4572a757cfa071739f4e_D20230101-20230401" decimals="-3" name="us-gaap:PaymentsForRestructuring" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMy0xLTEtMS0xMTI4ODk_5d2e7754-c993-41a9-9181-2d2ade05adc0">1,715</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8ca442f49dd4434c98f14186852a6786_D20230101-20230401" decimals="-3" name="us-gaap:PaymentsForRestructuring" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMy0zLTEtMS0xMjY5MzY_324318e8-4d9d-4fea-81b8-9ed9e8fd255e">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i38cd5a7836bd4023867cd8ed3e14feed_D20230101-20230401" decimals="-3" name="us-gaap:PaymentsForRestructuring" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMy0zLTEtMS0xMTI4ODk_4ce14a98-dfc5-454f-9a0c-4766b57f69c7">63</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:PaymentsForRestructuring" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMy0xMS0xLTEtMTEyODg5_19e2b585-4820-4dc6-9037-a36cc9b33e4c">1,778</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-cash settlement</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5741ed4afdeb4572a757cfa071739f4e_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringReserveSettledWithoutCash2" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNS0xLTEtMS0xMTI4ODk_50771e4e-0388-43d9-ab20-73e2297eaf0a">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i8ca442f49dd4434c98f14186852a6786_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringReserveSettledWithoutCash2" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNS0zLTEtMS0xMjY5MzY_e37df95e-a117-4935-9b4b-f6405eb47f6b">295</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i38cd5a7836bd4023867cd8ed3e14feed_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringReserveSettledWithoutCash2" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNS0zLTEtMS0xMTI4ODk_9238bfae-5400-4881-bef5-c7d19e6cca8c">17</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:RestructuringReserveSettledWithoutCash2" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNS0xMS0xLTEtMTEyODg5_62f78706-b343-4473-a293-70c05098b44e">312</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i624cb88d2a574ddda3171d47d7625d5d_I20230401" decimals="-3" name="us-gaap:RestructuringReserve" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNi0xLTEtMS0xMTI4ODk_6f189c24-53e1-4159-bcbc-2a4c18ba851b">376</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i787fdfa2b0ec4cb294eb6a87e1cf9bc6_I20230401" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNi0zLTEtMS0xMjY5MzY_99fae261-fa5c-4e55-beed-68d978923968">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i10a3eef303f349e3ac798f4d3a8a7c71_I20230401" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNi0zLTEtMS0xMTI4ODk_b4895655-4064-45df-9f08-0d8d860819d1">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:RestructuringReserve" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNi0xMS0xLTEtMTEyODg5_419453bb-0ada-4101-99f3-085aeedd37c3">376</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_55"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 7 &#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:FairValueDisclosuresTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjIzNA_2a8ba842-03d0-451a-9f55-9de51d35d9af" continuedAt="i48a59b6ad2824759bbffae5691c5eb6d" escape="true">Fair Value and Derivative Instruments</ix:nonNumeric></span></div><div style="text-align:justify"><span><br/></span></div><ix:continuation id="i48a59b6ad2824759bbffae5691c5eb6d" continuedAt="icc34b7c032b743e09f9356a1e79135c7"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjIzNg_dccaf126-6d6c-4e24-af5c-b787fcfc74b5" continuedAt="i9e1c9f0173c945768644511cb8149dce" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three months ended April&#160;1, 2023 or the year ended December&#160;31, 2022.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No changes were made to our valuation techniques during the first three months of fiscal 2023.</span></div></ix:nonNumeric></ix:continuation><div style="text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="icc34b7c032b743e09f9356a1e79135c7" continuedAt="icb717314040a4d598dad616031205083"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Assets and Liabilities Measured at Fair Value on a Recurring Basis</span></div><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjIzMA_794d339e-6224-426b-ad5a-dc853ce52628" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands):&#160;</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.391%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ife40b8f8d84c40d9a9439e2507afbc7f_I20230401" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMy0yLTEtMS0xMTI4ODk_a8d1cd4e-f515-4c31-b173-ef4316b72b24">44,777</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab7600f13b314f11a788b6676167b53c_I20230401" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMy00LTEtMS0xMTI4ODk_4d72be9c-e389-45ed-bcc7-fee7ee95677a">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1080e798dfe8400eb94109b03ea7fc42_I20230401" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMy02LTEtMS0xMTI4ODk_08767f8d-36c2-44f7-b747-82b32cbd4e98">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4f31725f0be04f03a175254c002b7d23_I20230401" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMy04LTEtMS0xMTI4ODk_60b56808-47c9-42ef-8204-a0a5df382190">44,777</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie3413906e19642a5858c5191b2b63908_I20230401" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfNC0yLTEtMS0xMTI4ODk_7417f26f-9dac-4c70-a9ed-cf58e91796c7">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia981d433bb9f4092a5ca4f8406dd9a71_I20230401" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfNC00LTEtMS0xMTI4ODk_a459297d-9302-41f8-b16c-49e9bbad296a">4,475</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifba4d8a09a2d47bab2f39ccc161c350b_I20230401" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfNC02LTEtMS0xMTI4ODk_e4e7a36c-1f25-4d64-9963-96c2d294e68f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6befc7f521648b99a1d82bb45b1ebe7_I20230401" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfNC04LTEtMS0xMTI4ODk_b4113513-c46d-4f0a-9015-6cb4109db348">4,475</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25.75pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifb0565ca70f14d0e8b8c8a3d7718daab_I20230401" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfOC0yLTEtMS0xMTI4ODk_7d2def8c-9db5-4a8c-b729-fb1987ba86a5">44,777</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib0eef226bd654c78bf439fbe7ca07d63_I20230401" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfOC00LTEtMS0xMTI4ODk_838ad00a-9d9c-4a8b-a10c-504e684b095d">4,475</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0dd333b3406a4c45816beefd9e569642_I20230401" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfOC02LTEtMS0xMTI4ODk_9d1aa32f-c858-4d77-aff3-36dd19d55429">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfOC04LTEtMS0xMTI4ODk_cf70ecaa-3408-4e05-a503-b415ddc9fcc3">49,252</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;U.S. treasuries</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if3454759c82b44788f2719d6665d2872_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTEtMi0xLTEtMTEyODg5_31cfe3ee-90bb-4b48-baf1-382be86e64b6">25,144</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ida308296e39b41f4a0a9face207fffd7_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTEtNC0xLTEtMTEyODg5_91d28bba-7aaa-4403-9225-79c99d68a652">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i40052b5383e04037bde48706a08e94e0_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTEtNi0xLTEtMTEyODg5_861c106b-b757-4380-9e30-fe81472b8c46">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic09f446075e24fcfa16080d0ef2882ae_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTEtOC0xLTEtMTEyODg5_66fb379e-1ead-4528-b38a-ef2054381466">25,144</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;Certificates of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i176cf6f878f04ac18bd260217fc27a90_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTQtMi0xLTEtMTEyODg5_77d77e6d-dd31-4240-a244-cf67bdbb12fb">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i508295e68ab545a0874a470a4d0f33f1_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTQtNC0xLTEtMTEyODg5_c0d07511-dec3-4781-9ebd-f2fead2155f3">471</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f7c6d4e44b49278a0e770aaa6e050e_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTQtNi0xLTEtMTEyODg5_cb3eb585-0a9a-42ce-98f3-e198c67f80a8">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i480bb9bb91474eaf8a83473d05b7d720_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTQtOC0xLTEtMTEyODg5_8c3ed60f-670c-420e-8321-877f68485b46">471</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;U.S. agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iea31b6e9335d402f9de79f1a8c1a125a_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTMtMi0xLTEtMTEyODg5_f431bd10-ca45-4627-9e93-b2e67f4538c6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i41da4f1302744839b874b0fdc51c6043_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTMtNC0xLTEtMTEyODg5_49d37aad-fc9b-49e0-9728-bab3db03b174">13,062</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8ff3a246c4c7407e9c0da35fb1c6c7fc_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTMtNi0xLTEtMTEyODg5_f6f9a5fc-e13d-4990-ae56-5d92277a38de">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7f394b5e9cb443c682915536205dc94f_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTMtOC0xLTEtMTEyODg5_908be7fc-7eae-40df-b788-371925b4bb58">13,062</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i07766960d02642bf99185ace9e2b35de_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTAtMi0xLTEtMTEyODg5_1b3f604e-f64c-4c9f-b4b4-920f56780814">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5bf79e8f81f14e56aef89484bfb7c321_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTAtNC0xLTEtMTEyODg5_82984f5d-910c-4d3b-ac49-63318b67ffcf">53,899</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia6b87f2c9cb9421ab60ad6878bc0bc59_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTAtNi0xLTEtMTEyODg5_faca9f1f-3f33-471f-b518-5a29563ee733">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib94b7836bd464128b4bcc435a161dcf6_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTAtOC0xLTEtMTEyODg5_8e9619ba-4060-465e-969e-c919272da291">53,899</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie3413906e19642a5858c5191b2b63908_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTItMi0xLTEtMTEyODg5_efca5a36-3857-4d14-8ec1-216ce3529439">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia981d433bb9f4092a5ca4f8406dd9a71_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTItNC0xLTEtMTEyODg5_1162e90a-8db0-40e5-979b-512c62939e6a">31,315</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifba4d8a09a2d47bab2f39ccc161c350b_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTItNi0xLTEtMTEyODg5_2bc41e98-dc88-43d9-b769-4b8cc4df0e21">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6befc7f521648b99a1d82bb45b1ebe7_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTItOC0xLTEtMTEyODg5_d80ad7b0-fd85-4012-995a-327bfbce188b">31,315</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7.75pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifb0565ca70f14d0e8b8c8a3d7718daab_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTUtMi0xLTEtMTEyODg5_c56c391c-555f-40a6-a704-634b6887988b">25,144</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib0eef226bd654c78bf439fbe7ca07d63_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTUtNC0xLTEtMTEyODg5_9b070458-96d3-4a22-bbb6-6edf833b9e08">98,747</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0dd333b3406a4c45816beefd9e569642_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTUtNi0xLTEtMTEyODg5_ae9c0eaa-1cfb-441f-b225-b977bd11921d">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTUtOC0xLTEtMTEyODg5_6a3ae4ec-8241-4ea1-a53a-7356451b9c8b">123,891</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7ddc0fd0c9004b4ebc0e2bb242e85493_I20230401" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTYtMi0xLTEtMTEyODg5_d934db77-ab3d-48d8-a8f0-2cf241e75418">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0a8c48baa5d24637a43822b5d6759470_I20230401" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTYtNC0xLTEtMTEyODg5_2e7d7d4f-a713-415a-9086-f4df1f24cc69">763</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3238691572e145dda167fbeaa4eb48ae_I20230401" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTYtNi0xLTEtMTEyODg5_bf9267b2-79d8-4831-917d-99d8f2490047">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5ae1e25c98c1453196222ca7265ce94a_I20230401" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTYtOC0xLTEtMTEyODg5_ee97e067-881e-4ec4-9dc9-ade1d590bce5">763</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory note receivable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i39761d51019d46a4b6d2b509efd1f0bf_I20230401" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTctMi0xLTEtMTEyODg5_d61d9bd8-4519-4382-9f18-4baa33141ece">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib3ef644f58084bcc8f58a2172b4b6cc4_I20230401" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTctNC0xLTEtMTEyODg5_c31a3ce9-79c8-4587-b802-d076342232b9">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7ff98d9067104644b1253c089ca7654a_I20230401" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTctNi0xLTEtMTEyODg5_54a7e0f2-dd09-4dcd-86e1-c8c9718a3b9b">943</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2c1ff0745dff4b80b4f3440028231035_I20230401" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTctOC0xLTEtMTEyODg5_ce3d0f2f-af52-421e-9019-0917f435fa3a">943</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibb27b9672dbb4ae3b3a5829a44f51a3b_I20230401" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTgtMi0xLTEtMTEyODg5_64ac36cb-532d-47e9-8a28-b9073f1b76ff">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icecde2b3e4c742d7a04fdbcb684b034e_I20230401" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTgtNC0xLTEtMTEyODg5_32447a4e-4be0-448d-84f1-3b3febe1c768">2,041</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idb9665c0fece478cb7334108983b6aed_I20230401" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTgtNi0xLTEtMTEyODg5_7b6e1030-a553-4a83-b160-e8499b624801">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf8dae5fd10744d4a895de0ddfea3300_I20230401" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTgtOC0xLTEtMTEyODg5_771ae82c-eae8-4aeb-a48a-ed94204675ff">2,041</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifb0565ca70f14d0e8b8c8a3d7718daab_I20230401" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTktMi0xLTEtMTEyODg5_1d231f9f-5c18-4934-8363-bafd7a1492fc">69,921</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib0eef226bd654c78bf439fbe7ca07d63_I20230401" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTktNC0xLTEtMTEyODg5_86781188-903f-4c68-baf1-cd9a6dfaa9cb">106,026</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0dd333b3406a4c45816beefd9e569642_I20230401" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTktNi0xLTEtMTEyODg5_bfd681d9-0c59-460c-8a02-4eaee9a5ba4c">943</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTktOC0xLTEtMTEyODg5_29ae5964-796d-4e01-88f0-86786090527a">176,890</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibb27b9672dbb4ae3b3a5829a44f51a3b_I20230401" decimals="-3" name="us-gaap:DerivativeLiabilities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjItMi0xLTEtMTEyODg5_ba742bfc-1e20-41e5-96cf-4b215e172bbc">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icecde2b3e4c742d7a04fdbcb684b034e_I20230401" decimals="-3" name="us-gaap:DerivativeLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjItNC0xLTEtMTEyODg5_7a1a29ae-4599-4dbf-93cb-65cdb6c4fe91">2</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idb9665c0fece478cb7334108983b6aed_I20230401" decimals="-3" name="us-gaap:DerivativeLiabilities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjItNi0xLTEtMTEyODg5_7aa36b6a-bc98-4669-9493-d8f73227ac3f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iaf8dae5fd10744d4a895de0ddfea3300_I20230401" decimals="-3" name="us-gaap:DerivativeLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjItOC0xLTEtMTEyODg5_59d696c9-1331-446c-8c80-d485b3155826">2</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifb0565ca70f14d0e8b8c8a3d7718daab_I20230401" decimals="-3" name="us-gaap:LiabilitiesFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjQtMi0xLTEtMTEyODg5_82fb1a9b-6d25-4447-acd5-aedc4bfd1e86">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib0eef226bd654c78bf439fbe7ca07d63_I20230401" decimals="-3" name="us-gaap:LiabilitiesFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjQtNC0xLTEtMTEyODg5_a9c1ae6b-457d-4265-8411-0d02877fa6bf">2</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0dd333b3406a4c45816beefd9e569642_I20230401" decimals="-3" name="us-gaap:LiabilitiesFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjQtNi0xLTEtMTEyODg5_2c43a964-d115-4667-bf11-aa399e3788e3">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:LiabilitiesFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjQtOC0xLTEtMTEyODg5_a5015fdd-8e0b-4f1d-b585-0807200f6ee8">2</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.391%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie181d3dc8223465ab7d1999c61457d95_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMy0yLTEtMS0xMTI4ODk_5fec4d2a-5ecc-415d-83e1-efbc50968e66">21,279</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4d3acfd9682f47f7943fce76e6964b5f_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMy00LTEtMS0xMTI4ODk_12a13856-4037-4a09-94d3-1ab0e9372bb8">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i366643d3681d4dd6a3eec21ccbbd16d6_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMy02LTEtMS0xMTI4ODk_e19bbc00-edf9-4a40-9b28-06c85ca47014">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaba339810fc34fddb07a062f553101c6_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMy04LTEtMS0xMTI4ODk_fce9d67b-7d4c-460c-84d7-42f478ab8441">21,279</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3ccdae7bf0db4ed4a821fb9c8a7f3f4c_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNi0yLTEtMS0xMTI4ODk_e5f57951-482b-406b-9cd6-1513a5f7d967">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5cd1c8b73232406080f35aa64aeb11de_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNi00LTEtMS0xMTI4ODk_d85e728e-1e91-4625-bd9d-961754f50769">4,969</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i14ca5a1381b0410b83c743d6086e7dc8_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNi02LTEtMS0xMTI4ODk_a5da7f0c-d1f3-4030-b3e9-0539be12a4dc">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia48acc1c15424756a4ded0aaf6ca95c0_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNi04LTEtMS0xMTI4ODk_7deb8a8f-d9d5-4049-a0a1-ac9c7d335cca">4,969</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ied84933b5c6e4b6db8c9100b55a05c32_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNC0yLTEtMS0xMTI4ODk_1a9debaa-eb8e-4a1f-a7e1-39a9878db973">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iae766829b1a042c0b996e56d78695045_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNC00LTEtMS0xMTI4ODk_d0df0ef7-c97c-466c-97ee-218a529bdd57">996</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib3cef90ac2e4401eba541a22161e2170_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNC02LTEtMS0xMTI4ODk_7800e4b7-f4a8-4d9e-8e1a-47946e47f351">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id98e2212c5af4575b3b51a696e7c628a_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNC04LTEtMS0xMTI4ODk_f628facc-c037-4ef3-bee1-8eba8d0733bf">996</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9c2a8c2f3d4d4fb58c33ce5be929408c_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNy0yLTEtMS0xMTI4ODk_4ebfafff-6df1-46fc-8122-464ac271d468">21,279</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8e2a621b154243888daa2aa002f53ca9_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNy00LTEtMS0xMTI4ODk_bb4d1ff7-eaa0-4b97-9f02-f194e19fa884">5,965</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic26b161159f242d68023e5087a505d6b_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNy02LTEtMS0xMTI4ODk_46c9755a-00e1-49da-98a5-d9cf2c4dca84">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNy04LTEtMS0xMTI4ODk_52cbc76a-cd13-4927-adfd-8d8f72c7d8c0">27,244</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. treasuries</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0c8ad60d3f1a4126bb3d1971e8a6d90a_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTAtMi0xLTEtMTEyODg5_91ca46a3-9ac4-400d-bf36-f882704edfc6">25,019</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id364050ee17f49b9ab9d5e5df5b3a1a1_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTAtNC0xLTEtMTEyODg5_9fa80afc-7f7e-466f-8b98-935d9b0494e5">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0af4b18e6a314030bd2ca1d48cd4a5f1_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTAtNi0xLTEtMTEyODg5_90ad766c-9900-4271-8389-f54d964f95ed">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i074633dbcb4742fba89bc02c9f5d868f_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTAtOC0xLTEtMTEyODg5_95e828c6-7b63-4b27-8006-7e0ae06d45f9">25,019</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificates of deposit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1df6d46d3af34559bffc71ca077ef343_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTMtMi0xLTEtMTEyODg5_fe448627-a7da-4383-8753-348e8788af8d">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie48b4fbf076643b1bffda4cd03851427_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTMtNC0xLTEtMTEyODg5_02141d6a-c69a-4f8d-9ecf-5218f8698f0a">706</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49c681e1710d488799400cf8fe610e36_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTMtNi0xLTEtMTEyODg5_45bd0d6e-3755-4a44-8abc-60e413a10c92">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id8871384e6e84259b0ccef13d2423c7d_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTMtOC0xLTEtMTEyODg5_2bebe49c-f30c-493c-8cc1-fce27f6a0fbc">706</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ied84933b5c6e4b6db8c9100b55a05c32_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTEtMi0xLTEtMTEyODg5_8ac1cbd7-3aed-4445-a055-56cdbba2ac43">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iae766829b1a042c0b996e56d78695045_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTEtNC0xLTEtMTEyODg5_358fda99-22a6-4b68-bfa6-0f9482f15338">11,045</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib3cef90ac2e4401eba541a22161e2170_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTEtNi0xLTEtMTEyODg5_26f98480-d8b7-4c23-85f3-257a0bc9497f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id98e2212c5af4575b3b51a696e7c628a_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTEtOC0xLTEtMTEyODg5_0f42f0e9-ddae-4907-9d86-c0e4dff8baa9">11,045</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i74522995661c46ff8534b601fb3ca67e_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfOS0yLTEtMS0xMTI4ODk_0faef4b2-f44d-41a8-94b1-9185511d9537">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8a53d69f0106407da1c4c8d8b7c032b6_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfOS00LTEtMS0xMTI4ODk_3db1a508-6919-4713-ad00-fe80b35a2454">67,396</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1caf8c6376864d9fa26030540e34755e_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfOS02LTEtMS0xMTI4ODk_2b6eea3c-d3f7-44d8-9aae-deec819f12b7">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icbf177a663154204b8b7fd7fcff89aac_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfOS04LTEtMS0xMTI4ODk_8ae334a9-ade1-43ad-9191-9ea2f92672c1">67,396</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1861d1af33324770945d675a397b4d5d_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTItMi0xLTEtMTEyODg5_97503821-1ba7-4bc5-9262-ae2148a69938">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic275005a170445b0b100f03e761a9e87_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTItNC0xLTEtMTEyODg5_0280d702-c976-4f55-9321-f4ed37c45310">24,840</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id1ed78559ae54af791f0f502b636386e_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTItNi0xLTEtMTEyODg5_c47534f8-738d-4eb1-a8fd-66f22c30de9d">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6203915b3f6c4dceb9a11f4b38b4a544_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTItOC0xLTEtMTEyODg5_38493424-26db-4126-993e-50f10b18f7ce">24,840</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9c2a8c2f3d4d4fb58c33ce5be929408c_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTQtMi0xLTEtMTEyODg5_e499103a-ab68-4686-b5a3-1b601ad71b3e">25,019</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8e2a621b154243888daa2aa002f53ca9_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTQtNC0xLTEtMTEyODg5_9185cb69-8e7e-44a1-9f78-46768410dd65">103,987</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic26b161159f242d68023e5087a505d6b_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTQtNi0xLTEtMTEyODg5_965d6c96-c2bb-473a-9209-3d41b8f5e969">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:MarketableSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTQtOC0xLTEtMTEyODg5_6e638189-77ea-4e18-b20e-9efb2b9e4701">129,006</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifab97facca954d5287c6db708062786f_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTUtMi0xLTEtMTEyODg5_563217ed-282f-4bf0-a82f-68e04c62e009">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i671fc26c178541d998dfa44323f9450c_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTUtNC0xLTEtMTEyODg5_4260da5b-e29a-4636-bcf4-b4ffd48f501f">664</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7aeb4213ea1e471b81e73bcab5acccaa_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTUtNi0xLTEtMTEyODg5_4740bac8-fc55-4aea-a4b9-230e46a4b399">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iebc8fe86f92c40cbb59a7f78ca22943e_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTUtOC0xLTEtMTEyODg5_4c9d7a85-c0ca-4899-8a35-f8537b43b914">664</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory note receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1567c4519a94a5fb463ef22dde89ee4_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtMi0xLTEtMTEzNzMy_c4e9b0f0-df95-43cb-907c-f8fc14b3ac33">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i37788baf19a04af2b8e68a8ef4dcc6a6_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtNC0xLTEtMTEzNzMy_4152e266-d243-49c1-b9a4-b8cec8a7adf9">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idafc892a85b141e2a02677c5f25f7ea7_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtNi0xLTEtMTEzNzMy_bf764b6e-d62f-457f-8e38-a823399b23f4">943</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i59d28ec1885a488d9fc20208342a931f_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtOC0xLTEtMTEzNzMy_a3444edb-ff76-40b7-a2e7-9eeeab0d55ec">943</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3e2f60e324254677bec77af1e2eb3174_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtMi0xLTEtMTEyODg5_302f874a-73d7-421b-8d90-a136648ca5be">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ida3b54d2449c43ebbc2b85af835992fe_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtNC0xLTEtMTEyODg5_e6f1378e-e50b-440e-93a6-27d45c30d077">2,374</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3f295ade2375424eab902435ed376056_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtNi0xLTEtMTEyODg5_e4bb7be8-5d71-4f0b-a9d8-d1b42250c5f7">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie5332f8b331f4fefa4517c233a78dad9_I20221231" decimals="-3" name="us-gaap:DerivativeAssets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtOC0xLTEtMTEyODg5_f377306d-97f1-4c06-8e9a-373e93104985">2,374</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9c2a8c2f3d4d4fb58c33ce5be929408c_I20221231" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTctMi0xLTEtMTEyODg5_e55fa353-9da0-4037-b2ed-e3034955a60c">46,298</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8e2a621b154243888daa2aa002f53ca9_I20221231" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTctNC0xLTEtMTEyODg5_53dfb964-adf7-42ae-ba7e-c2cad3fbe982">112,990</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic26b161159f242d68023e5087a505d6b_I20221231" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTctNi0xLTEtMTEyODg5_259ae0e4-83bc-4c33-96d6-aba11c8774a1">943</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:AssetsFairValueDisclosure" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTctOC0xLTEtMTEyODg5_e6a97f0e-5748-4415-8665-5529fa959421">160,231</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifab97facca954d5287c6db708062786f_I20221231" decimals="-3" name="us-gaap:DerivativeLiabilities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTktMi0xLTEtMTEyODg5_5624cb87-16ae-473f-9275-62f84b302cd7">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i671fc26c178541d998dfa44323f9450c_I20221231" decimals="-3" name="us-gaap:DerivativeLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTktNC0xLTEtMTEyODg5_bc01b692-56ae-4fbf-8781-070b68c198ac">193</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7aeb4213ea1e471b81e73bcab5acccaa_I20221231" decimals="-3" name="us-gaap:DerivativeLiabilities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTktNi0xLTEtMTEyODg5_dfb550bb-9279-405d-a95b-44db34ca3a42">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iebc8fe86f92c40cbb59a7f78ca22943e_I20221231" decimals="-3" name="us-gaap:DerivativeLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTktOC0xLTEtMTEyODg5_cb75c2f6-d3fe-468a-89ef-cfd9996eedd8">193</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9c2a8c2f3d4d4fb58c33ce5be929408c_I20221231" decimals="-3" name="us-gaap:LiabilitiesFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMjEtMi0xLTEtMTEyODg5_0a051f9e-bf30-41e2-a48f-65277f0c7bc3">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i8e2a621b154243888daa2aa002f53ca9_I20221231" decimals="-3" name="us-gaap:LiabilitiesFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMjEtNC0xLTEtMTEyODg5_8d12e2a3-efa8-499b-a9c0-b6b70641e0a5">193</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic26b161159f242d68023e5087a505d6b_I20221231" decimals="-3" name="us-gaap:LiabilitiesFairValueDisclosure" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMjEtNi0xLTEtMTEyODg5_32d8156d-2acb-4a14-8f35-4b2dcad369d9">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:LiabilitiesFairValueDisclosure" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMjEtOC0xLTEtMTEyODg5_370a3cd3-075d-4788-aa22-3eff4121034d">193</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Equivalents </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our cash equivalents is determined based on quoted market prices for similar or identical securities. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Marketable Securities </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We classify our marketable securities as available-for-sale and value them utilizing a market approach. Our investments are </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="icb717314040a4d598dad616031205083" continuedAt="i8accb068a6a84428989fe85e865bc06d"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">priced by pricing vendors who provide observable inputs for their pricing without applying significant judgment. Broker pricing is used mainly when a quoted price is not available, the investment is not priced by our pricing vendors or when a broker price is more reflective of fair value. Our broker-priced investments are categorized as Level 2 investments because fair value is based on similar assets without applying significant judgments. In addition, all investments have a sufficient trading volume to demonstrate that the fair value is appropriate.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unrealized gains and losses were immaterial and were recorded as a component of Accumulated other comprehensive loss in our Condensed Consolidated Balance Sheets. We did not have any other-than-temporary unrealized gains or losses at either period end included in these financial statements.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Interest Rate Swaps </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our interest rate swap contracts is determined at the end of each reporting period based on valuation models that use interest rate yield curves as inputs. For accounting purposes, our interest rate swap contracts qualify for, and are designated as, cash flow hedges. The cash flows associated with the interest rate swaps are reported in Net cash provided by operating activities in our Condensed Consolidated Statements of Cash Flows and the fair value of the interest rate swap contracts are recorded within Prepaid expenses and other current assets and Other assets in our Condensed Consolidated Balance Sheets. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Foreign Exchange Derivative Contracts</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate and sell our products in various global markets. As a result, we are exposed to changes in foreign currency exchange rates. We utilize foreign currency forward contracts to hedge against future movements in foreign exchange rates that affect certain existing foreign currency denominated assets and liabilities and forecasted foreign currency revenue and expense transactions. Under this program, our strategy is to have increases or decreases in our foreign currency exposures mitigated by gains or losses on the foreign currency forward contracts in order to mitigate the risks and volatility associated with foreign currency transaction gains or losses. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not use derivative financial instruments for speculative or trading purposes. For accounting purposes, certain of our foreign currency forward contracts are not designated as hedging instruments and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded within Other income, net in our Condensed Consolidated Statement of Income for both realized and unrealized gains and losses. Certain of our foreign currency forward contracts are designated as cash flow hedges, and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded as a component of Accumulated other comprehensive loss and reclassified into earnings in the same period in which the hedged transaction affects earnings, and in the same line item on the Condensed Consolidated Statements of Income as the impact of the hedge transaction. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our foreign exchange derivative contracts was determined based on current foreign currency exchange rates and forward points. All of our foreign exchange derivative contracts outstanding at April&#160;1, 2023 will mature by the first quarter of fiscal 2024.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjIxNQ_aebd7aae-eefa-4c05-9b80-d8221c0c9f68" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides information about our foreign currency forward contracts outstanding as of April&#160;1, 2023 (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:54.601%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.373%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.231%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Currency</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Position</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Amount<br/>(Local Currency)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Amount<br/>(U.S. Dollars)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Euro Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Buy</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="eur" contextRef="i6d38e8f69b6149ba93fca93c6b09a6a1_I20230401" decimals="-3" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfMS00LTEtMS0xMTI4ODk_a61ad18a-9701-4022-98e5-9a9465ebec33">23,004</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6d38e8f69b6149ba93fca93c6b09a6a1_I20230401" decimals="-3" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfMS02LTEtMS0xMTI4ODk_ce34f609-b2c4-48d9-9bfc-8069382a71bf">24,250</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Euro Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="eur" contextRef="i2fbc4cfcc181400e91016116c4bde454_I20230401" decimals="-3" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfMi00LTEtMS0xMTI4ODk_841910ca-a5e7-4596-8dd3-1ed620153ae0">2,356</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2fbc4cfcc181400e91016116c4bde454_I20230401" decimals="-3" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfMi02LTEtMS0xMTI4ODk_021dc89b-e73b-4b01-8449-75f2544ce269">2,472</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japanese Yen</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="jpy" contextRef="i49a018e6a4c343a3ab446e5a98f94612_I20230401" decimals="-3" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfMy00LTEtMS0xMTI4ODk_95f8fbb0-d03b-44cb-a173-a7f4db38d1cc">3,227,282</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i49a018e6a4c343a3ab446e5a98f94612_I20230401" decimals="-3" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfMy02LTEtMS0xMTI4ODk_75128eba-4284-49ab-9c2c-dbc60fb4fd13">24,377</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Korean Won</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Buy</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="krw" contextRef="i2e4a579897f84901adb30aeb819f62d7_I20230401" decimals="-3" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfNC00LTEtMS0xMTI4ODk_a3340196-6f89-4d59-99d0-54770babc03f">1,751,490</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2e4a579897f84901adb30aeb819f62d7_I20230401" decimals="-3" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfNC02LTEtMS0xMTI4ODk_49350e63-3131-43e7-80b6-0609601e8c4d">1,355</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="twd" contextRef="i2ba6960e0edc430c8f33dbe0efc00da0_I20230401" decimals="-3" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfNS00LTEtMS0xMTI4ODk_8c1bfa72-0d79-4746-b173-643574beb75f">43,413</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2ba6960e0edc430c8f33dbe0efc00da0_I20230401" decimals="-3" name="us-gaap:DerivativeNotionalAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfNS02LTEtMS0xMTI4ODk_6aaae89f-80bd-4819-be64-84d8f9e83fa2">1,435</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our foreign currency contracts are classified within Level 2 of the fair value hierarchy as they are valued using pricing models that utilize observable market inputs.</span></div><div style="text-align:justify"><span><br/></span></div><ix:continuation id="i9e1c9f0173c945768644511cb8149dce" continuedAt="id04407838ac343f1bb0aac7ff7ceb6b3"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business </span></div></ix:continuation></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:justify"><ix:continuation id="i8accb068a6a84428989fe85e865bc06d" continuedAt="iae24357218894766a89f922a9d0dd52b"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="id04407838ac343f1bb0aac7ff7ceb6b3">acquisition.</ix:continuation> Other than as discussed in Note 6,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Restructuring Charges, </span></ix:continuation><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="iae24357218894766a89f922a9d0dd52b">there were <ix:nonFraction unitRef="usd" contextRef="id3ac28a910af449aaf7b0e5e090098ec_I20220326" decimals="INF" name="us-gaap:LiabilitiesFairValueDisclosure" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjA5Ng_05fca9be-30fa-4e80-a817-ac395ea8af9d"><ix:nonFraction unitRef="usd" contextRef="i59e69ceb0cbf4e8081b2d6f4a653eb0c_I20230401" decimals="INF" name="us-gaap:LiabilitiesFairValueDisclosure" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjA5Ng_11f90c20-4b3b-4dd9-8fe4-560c340b5c97"><ix:nonFraction unitRef="usd" contextRef="i59e69ceb0cbf4e8081b2d6f4a653eb0c_I20230401" decimals="INF" name="us-gaap:AssetsFairValueDisclosure" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjA5Ng_aee23b29-8fe4-41ee-995a-ed5a9f3464b8"><ix:nonFraction unitRef="usd" contextRef="id3ac28a910af449aaf7b0e5e090098ec_I20220326" decimals="INF" name="us-gaap:AssetsFairValueDisclosure" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjA5Ng_e089a1c2-91ab-412b-b26a-acc2d24800f9">no</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> assets or liabilities measured at fair value on a nonrecurring basis during the three months ended April&#160;1, 2023 or March&#160;26, 2022.</ix:continuation> </span></div><div style="text-align:justify"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_58"></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 8 &#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ProductWarrantyDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RleHRyZWdpb246MDYwZjM4OTFhN2M2NGNiMmFlZWYzOWFkZDRjZGNlNWRfMTE3Ng_1413f80d-c995-46b1-ac4f-a2e98000bce3" continuedAt="iaf121cc2ff384c07b6a2fa5da27b36d6" escape="true">Warranty</ix:nonNumeric></span></div><ix:continuation id="iaf121cc2ff384c07b6a2fa5da27b36d6"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We offer warranties on certain products and record a liability for the estimated future costs associated with warranty claims at the time revenue is recognized. The warranty liability is based upon historical experience and our estimate of the level of future costs. While we engage in product quality programs and processes, our warranty obligation is affected by product failure rates, material usage and service delivery costs. We regularly monitor product returns for warranty and maintain a reserve for the related expenses based upon our historical experience and any specifically identified failures. As we sell new products to our customers, we must exercise considerable judgment in estimating the expected failure rates. This estimating process is based on historical experience of similar products, as well as various other assumptions that we believe to be reasonable under the circumstances. We provide for the estimated cost of product warranties at the time revenue is recognized as a component of Cost of revenues in our Condensed Consolidated Statement of Income.</span></div><div style="text-align:justify"><span><br/></span></div><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RleHRyZWdpb246MDYwZjM4OTFhN2M2NGNiMmFlZWYzOWFkZDRjZGNlNWRfMTE3Nw_9a15b341-1c30-4035-a094-7a16afcd4ff3" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in our warranty liability were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at beginning of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:ProductWarrantyAccrual" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfMi0xLTEtMS0xMTI4ODk_b5f14d0e-e460-4416-a4ef-a20dc1ba5e7c">4,199</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idc0595bacd8744b39dc151edbaf37cf1_I20211225" decimals="-3" name="us-gaap:ProductWarrantyAccrual" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfMi0zLTEtMS0xMTI4ODk_fffd0ac2-375c-47ab-9ad2-c28f5b885e07">2,805</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accruals</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfMy0xLTEtMS0xMTI4ODk_db684bd8-c350-4924-86fc-184815a841dc">1,390</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfMy0zLTEtMS0xMTI4ODk_55a0035e-5dad-45a6-a712-900ff4ec9a89">1,214</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Settlements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:ProductWarrantyAccrualPayments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfNC0xLTEtMS0xMTI4ODk_eead270d-a747-4407-9ba9-bb59c8868fb6">1,717</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:ProductWarrantyAccrualPayments" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfNC0zLTEtMS0xMTI4ODk_aa642b3e-0b76-45a0-8794-6102c52e8adf">1,244</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at end of period</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:ProductWarrantyAccrual" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfNS0xLTEtMS0xMTI4ODk_37d75983-3ce6-472d-a063-c8dd9d40352a">3,872</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326" decimals="-3" name="us-gaap:ProductWarrantyAccrual" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfNS0zLTEtMS0xMTI4ODk_6249ce17-709f-4eaa-ad10-6968b9b2af10">2,775</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="padding-left:13.5pt;padding-right:13.5pt;text-align:center;text-indent:18pt"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_61"></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 9 &#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RleHRyZWdpb246OWMyNTExMTAyMWRkNGE1YjhmZDgxZTVlNWFhZWYwMTJfMTMw_a4258539-7d4f-429e-8dc3-fb988134574b" continuedAt="if162a2ce94c6477db2c05511ec86212b" escape="true">Property, Plant and Equipment, net</ix:nonNumeric></span></div><div style="text-align:justify"><span><br/></span></div><ix:continuation id="if162a2ce94c6477db2c05511ec86212b"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RleHRyZWdpb246OWMyNTExMTAyMWRkNGE1YjhmZDgxZTVlNWFhZWYwMTJfMTMx_ed26074a-f911-40bb-baab-7a2b79b45b90" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property, plant and equipment, net consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Land</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i122f71a531a74c46a864fcb01284946a_I20230401" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMS0xLTEtMS0xMTI4ODk_17456740-a1b2-480f-a2a2-84ed83d0c44f">17,136</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie7f330b0337644829fd4d2e82b4e4d7e_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMS0zLTEtMS0xMTI4ODk_7503c95d-8ece-4428-9164-484774c5e6d3">17,136</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Building and building improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7f530dc5b1a047ecaf421b114a9323a9_I20230401" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMi0xLTEtMS0xMTI4ODk_afc596e5-994a-4e57-96ed-79ee278aad82">44,444</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8ebaa8f40e7f42d2b371e8962a3b2e69_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMi0zLTEtMS0xMTI4ODk_ecbdad30-807c-4174-bdc1-b6e732a97b3e">44,932</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Machinery and equipment </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i24324c00724c40828bf5f5796827d533_I20230401" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMy0xLTEtMS0xMTI4ODk_feea99ef-aa7f-489c-84cb-cee7cc7f5f2b">280,936</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i52276040d73e4304b55892f6a81375fe_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMy0zLTEtMS0xMTI4ODk_5452ba40-7013-4b02-8bfd-6bf030902cd7">276,180</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer equipment and software</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ice55480cac0c4ae7b4b2c86241fc7cb6_I20230401" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNC0xLTEtMS0xMTI4ODk_d193b30e-f5a5-4d64-8a24-cb2c40368753">46,568</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i37402380ef974000b8550d7d8eab119c_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNC0zLTEtMS0xMTI4ODk_749250bf-8a94-4cd4-9e12-79b8ce9ed61e">45,813</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i202ada5ccffc4d82a1ea1ee8dd341a96_I20230401" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNS0xLTEtMS0xMTI4ODk_556d8d93-c9c9-4d7d-95e1-fc25ab7ea7c5">7,481</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9da1affa9e5548d69cf0481b7b379a93_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNS0zLTEtMS0xMTI4ODk_29162c2a-a4e2-4e25-a634-aeb31d28e4c7">7,540</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4c735d093af34507bda41e58775c7890_I20230401" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNi0xLTEtMS0xMTI4ODk_8ca2d040-8b59-4669-8c91-f45041c96a0b">87,318</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i495dbf122da84560a0d4d4a0f015c566_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNi0zLTEtMS0xMTI4ODk_3303dbd4-fd31-4db8-89a7-a330891b505f">86,500</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sub-total </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNy0xLTEtMS0xMTI4ODk_92389b7d-c4d7-44a7-bd5d-844cb2e9222c">483,883</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNy0zLTEtMS0xMTI4ODk_c34e8b22-7d48-4ab2-b22e-d2061b407d04">478,101</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: Accumulated depreciation and amortization </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfOC0xLTEtMS0xMTI4ODk_f6ec2e8d-c976-4db4-9cfb-5b644f9a487b">342,763</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfOC0zLTEtMS0xMTI4ODk_26064068-5c36-481e-af97-f5dcd3db5c0e">335,711</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net, property, plant and equipment </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="form:PropertyPlantAndEquipmentNetExcludesConstructionInProgress" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfOS0xLTEtMS0xMTI4ODk_f1ae8bd7-0b29-4e4f-8d69-6e97892533bd">141,120</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="form:PropertyPlantAndEquipmentNetExcludesConstructionInProgress" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfOS0zLTEtMS0xMTI4ODk_7b863fee-1485-4d21-a636-8e5ed69b1329">142,390</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Construction-in-process</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:ConstructionInProgressGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMTAtMS0xLTEtMTEyODg5_6b057fab-8d6d-4d99-8d0d-d9ea7c533fa3">57,112</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:ConstructionInProgressGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMTAtMy0xLTEtMTEyODg5_f92186ab-e7a6-4764-b2cf-b670816ab6b2">47,458</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMTEtMS0xLTEtMTEyODg5_6f4e3751-dc61-4e5d-b469-0dfb197a18b5">198,232</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMTEtMy0xLTEtMTEyODg5_b11aac8f-7bde-4ecd-bd46-8efbf00958cb">189,848</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="text-align:justify"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_64"></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 10 &#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMjc2OA_86cbd6ea-6671-45ae-89f8-5899e1fbaf0a" continuedAt="i47f4ea71bb194194866f3d3c2d06eb68" escape="true">Stockholders&#8217; Equity and Stock-Based Compensation</ix:nonNumeric></span></div><div style="text-align:justify"><span><br/></span></div><ix:continuation id="i47f4ea71bb194194866f3d3c2d06eb68" continuedAt="idc847e836eb9490e8778eb14f4fe3c51"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Common Stock Repurchase Programs</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 26, 2020, our Board of Directors authorized a two-year program to repurchase up to $<ix:nonFraction unitRef="usd" contextRef="i646de1cf07874f1ab881cc71b4ca6e7d_I20201026" decimals="INF" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMTkz_1d9ff2cf-8e97-4362-ae02-30ca67e9cfbd">50</ix:nonFraction>&#160;million of outstanding common stock to offset potential dilution from issuances of common stock under our stock-based compensation programs. During the three months ended March&#160;26, 2022, we repurchased <ix:nonFraction unitRef="shares" contextRef="i5118bbc761e6489baea324354ed450ca_D20211226-20220326" decimals="INF" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMjE5OTAyMzI2MDU2NA_39f226cf-1562-4995-aead-f140815f780e">240,548</ix:nonFraction> shares of common stock for $<ix:nonFraction unitRef="usd" contextRef="i5118bbc761e6489baea324354ed450ca_D20211226-20220326" decimals="-5" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMjE5OTAyMzI2MDU5Ng_cc23d180-c303-4901-9905-ec502e641827">9.4</ix:nonFraction>&#160;million. We utilized the remaining funds available for repurchase under this program during fiscal 2022. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 20, 2022, our Board of Directors authorized an additional program to repurchase up to $<ix:nonFraction unitRef="usd" contextRef="i925f8dacc0a04f4687d9b44fbf42ba92_I20220520" decimals="INF" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfNjUx_a2a2aab5-7fea-48b1-99ce-332b1b5f5307">75</ix:nonFraction>&#160;million of outstanding common stock, also with the primary purpose to offset potential dilution from issuances of common stock under our stock-based compensation programs. The share repurchase program will expire on May 20, 2024. During the three months ended April&#160;1, 2023, we did <ix:nonFraction unitRef="shares" contextRef="if5c8b70c14064d7994936b0d60e7d783_D20230101-20230401" decimals="INF" name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMTY0OTI2NzQ0OTU2MA_7194dd65-207e-4c82-b01a-5d4bb480535b">no</ix:nonFraction>t repurchase any common stock. As of April&#160;1, 2023, $<ix:nonFraction unitRef="usd" contextRef="i053f8d96437a49d38ba58041a9af7cab_I20230401" decimals="-5" name="us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfNTQ5NzU1ODE3MTQy_6aa5d0aa-d5d2-4ca3-93f5-8a0eb41c8442">18.6</ix:nonFraction> million remained available for future repurchases.</span></div></ix:continuation><div style="text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="idc847e836eb9490e8778eb14f4fe3c51"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our policy related to repurchases of our common stock is to charge the excess of cost over par value to additional paid-in capital once the shares are retired. All repurchases were made in compliance with Rule 10b-18 under the Securities Exchange Act of 1934, as amended.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units</span></div><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMjc5Nw_3a824ef8-f7c6-4de4-9db2-e6108375f1ad" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock unit (&#8220;RSU&#8221;) activity under our equity incentive plan was as follows:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.835%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.420%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.422%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">RSUs at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i0a8f8e03f06649dfa412b9a69e5145c8_I20221231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfMS0xLTEtMS0xMTI4ODk_c7f8b308-e9e3-4fb7-bbfe-9f8510e87cb1">2,227,081</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i0a8f8e03f06649dfa412b9a69e5145c8_I20221231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfMS0zLTEtMS0xMTI4ODk_e507c958-b253-4eeb-8bf8-98356fa00560">35.28</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ie184a8a9cf614c99831bbbc704fcff86_D20230101-20230401" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfMi0xLTEtMS0xMTI4ODk_64452074-b48d-49b4-b1de-440b61f97b63">79,020</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ie184a8a9cf614c99831bbbc704fcff86_D20230101-20230401" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfMi0zLTEtMS0xMTI4ODk_c70ca208-4b98-49b6-8522-5fbc86395b41">25.51</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="ie184a8a9cf614c99831bbbc704fcff86_D20230101-20230401" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfMy0xLTEtMS0xMTI4ODk_cedefcfd-81e1-465a-b037-4ee0c59fa099">30,751</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ie184a8a9cf614c99831bbbc704fcff86_D20230101-20230401" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfMy0zLTEtMS0xMTI4ODk_ff9e7907-aa97-49c0-9337-b34bfff8359e">34.87</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards forfeited</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="ie184a8a9cf614c99831bbbc704fcff86_D20230101-20230401" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfNC0xLTEtMS0xMTI4ODk_e07a9952-3d31-4c96-a950-34ef2aa01009">82,523</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ie184a8a9cf614c99831bbbc704fcff86_D20230101-20230401" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfNC0zLTEtMS0xMTI4ODk_3e21f820-8dc5-4276-add4-271b9b8d8cd6">35.16</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">RSUs at April 1, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i365caee2eb3f4ee4a1c11ea299db3b0b_I20230401" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfNS0xLTEtMS0xMTI4ODk_7c26888d-0e44-4162-ae29-dabbb801e6a9">2,192,827</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i365caee2eb3f4ee4a1c11ea299db3b0b_I20230401" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfNS0zLTEtMS0xMTI4ODk_f1a6d348-b139-47fb-8301-b379c8dab96c">34.94</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance Restricted Stock Units</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may grant Performance RSUs (&#8220;PRSUs&#8221;) to certain executives, which vest based upon us achieving certain market performance criteria. There were no market based PRSUs granted during the three months ended April&#160;1, 2023. PRSUs are included as part of the RSU activity above. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Employee Stock Purchase Plan </span></div><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMjc4OQ_030d03f5-97f0-4ff9-a868-237bcec9f4a4" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information related to activity under our Employee Stock Purchase Plan (&#8220;ESPP&#8221;) was as follows: </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:81.209%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.007%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Shares issued</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i4e183f1cc7304786a98e8841b1ec31aa_D20230101-20230401" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOjNiZWRiOGJkYzU4ZDRlYzNiNjliMjAyMTc5N2UwZmY4L3RhYmxlcmFuZ2U6M2JlZGI4YmRjNThkNGVjM2I2OWIyMDIxNzk3ZTBmZjhfMi0yLTEtMS0xMTI4ODk_a26865b2-69c2-422c-b60b-cd2a6bfca09b">210,055</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average per share purchase price</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="id4e84f7451d04e39abdf0b0d3a71f574_I20230401" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOjNiZWRiOGJkYzU4ZDRlYzNiNjliMjAyMTc5N2UwZmY4L3RhYmxlcmFuZ2U6M2JlZGI4YmRjNThkNGVjM2I2OWIyMDIxNzk3ZTBmZjhfMy0yLTEtMS0xMTI4ODk_242ed2a5-42e3-4e29-9e00-fcff9d6ffa21">23.92</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average per share discount from the fair value of our common stock on the date of issuance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i4e183f1cc7304786a98e8841b1ec31aa_D20230101-20230401" decimals="2" sign="-" name="form:WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOjNiZWRiOGJkYzU4ZDRlYzNiNjliMjAyMTc5N2UwZmY4L3RhYmxlcmFuZ2U6M2JlZGI4YmRjNThkNGVjM2I2OWIyMDIxNzk3ZTBmZjhfNC0yLTEtMS0xMTI4ODk_221c423b-8a13-4bfb-b626-d44e8e5c1f0a">4.22</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-Based Compensation</span></div><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMjc3Ng_f95acbf0-3af4-415d-b56f-6c39488fdf22" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:66.590%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.544%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i78b0bbf163f04290aa5a52fa5469e112_D20230101-20230401" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfMi0xLTEtMS0xMTI4ODk_00bb5867-9d9c-481b-81d7-bcc9fb0cfb40">1,910</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if6dd5f1b0ef94564a4e3df06f5b2d467_D20211226-20220326" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfMi0zLTEtMS0xMTI4ODk_07c7e34d-9f7d-49cd-b850-c07019905820">1,078</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib5fb47f1ee4a4d55acbda6cc986d0e2f_D20230101-20230401" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfMy0xLTEtMS0xMTI4ODk_7a8bab2a-76ef-4be5-b885-b7ea7a53b10e">2,372</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic132082e7576428b9814f8d5ff660918_D20211226-20220326" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfMy0zLTEtMS0xMTI4ODk_2fcd1f3d-15fa-45ff-a1f9-84f4d5d4f5dd">1,986</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifc9a948ca0a44616805210608e46d25f_D20230101-20230401" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfNC0xLTEtMS0xMTI4ODk_afeb6180-db72-4bf7-bd26-ed16c7da3afc">5,008</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0488de2642dd428e91439109c44b266c_D20211226-20220326" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfNC0zLTEtMS0xMTI4ODk_5cb68681-2152-427e-babc-076f3712c478">4,456</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total stock-based compensation</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfNS0xLTEtMS0xMTI4ODk_e9ad98ea-ebe3-4ae9-a01e-1ceb778c56c0">9,290</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfNS0zLTEtMS0xMTI4ODk_ac906770-3c02-4adf-abc6-7cfc2ec13d2f">7,520</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Unrecognized Compensation Costs</span></div><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMjc3Nw_e6f3ee91-de6c-4a12-9528-a8044ef3b0ab" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At April&#160;1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands):&#160;</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:66.590%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.544%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrecognized Expense</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Average Expected<br/>Recognition Period<br/>in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie94cc76b63e448eb9ca592a368742788_I20230401" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfMS0xLTEtMS0xMTI4ODk_0cafa420-5b60-408d-8470-1a6eb9c39dd6">39,761</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ifb29402121114da68b9249062f7860fa_D20230101-20230401" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfMS0zLTEtMS0xMTI4ODk_167b6bc4-1210-4997-bdc7-8cfdd28293fd">1.98</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Performance restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8fe1555043044adfbd76cbf04c322f21_I20230401" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfMi0xLTEtMS0xMTI4ODk_7029971b-b531-49db-b37b-252e0a4dbb75">9,486</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i8b545e53fd134f64a9c0939aada3a34e_D20230101-20230401" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfMi0zLTEtMS0xMTI4ODk_42cccb1f-9d49-4d89-9f24-9a31efe9da83">1.86</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee stock purchase plan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id4e84f7451d04e39abdf0b0d3a71f574_I20230401" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfMy0xLTEtMS0xMTI4ODk_333a3978-c51b-4e34-a70b-6e6bd7bb86ad">985</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i4e183f1cc7304786a98e8841b1ec31aa_D20230101-20230401" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfMy0zLTEtMS0xMTI4ODk_d9a4ba6b-5a26-4585-85a1-eb99b8373c03">0.33</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total unrecognized stock-based compensation expense</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfNC0xLTEtMS0xMTI4ODk_92fb1f75-cfb0-4ffe-8a54-66bd525e9836">50,232</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfNC0zLTEtMS0xMTI4ODk_159d1eb5-5f25-4f24-9a88-c0dd12ad5e7d">1.93</ix:nonNumeric></span></td></tr></table></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16</span></div></div></div><div id="ia6fb55369a22456888fa85eea58ff384_67"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 11 &#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:EarningsPerShareTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RleHRyZWdpb246NTczZDYwMzljOTVkNDYwMTljNmZjMGFlYWU0ZjkzMjRfMTc4_737db244-27a1-4c07-a4ee-46538e8e1162" continuedAt="i25822ec085ca45a5a72603ab5033b8b9" escape="true">Net Income per Share</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="i25822ec085ca45a5a72603ab5033b8b9"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RleHRyZWdpb246NTczZDYwMzljOTVkNDYwMTljNmZjMGFlYWU0ZjkzMjRfMTg5_bb319c65-b2ae-454c-9793-a24cf2c58c52" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:67.028%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.545%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing basic net income per share</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfNS0xLTEtMS0xMTI4ODk_39d17b54-5eef-44f0-ac62-a19446b1fd58">77,066</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfNS0zLTEtMS0xMTI4ODk_cfaab1c8-4d09-4120-890e-39fa200e7c71">78,246</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Add potentially dilutive securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfNi0xLTEtMS0xMTI4ODk_8f353b80-ed8e-4151-bb1e-f8fefc2e1222">189</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfNi0zLTEtMS0xMTI4ODk_b54f4170-cc43-4c17-af9d-2fb080b74957">1,222</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing diluted net income per share</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfNy0xLTEtMS0xMTI4ODk_967c362c-ec31-417e-903a-3febff18e130">77,255</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfNy0zLTEtMS0xMTI4ODk_ef87e0e4-abaa-4c7a-ae21-3b855c737a00">79,468</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Securities not included as they would have been antidilutive</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfOS0xLTEtMS0xMTI4ODk_99006cba-ff24-4fa8-9b77-269bca8128c0">1,121</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfOS0zLTEtMS0xMTI4ODk_5558ade9-96b9-492c-b126-cde04fabf9f7">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="text-align:center"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_70"></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note 12 &#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83MC9mcmFnOjIyMWZhMzY4MTQ4MzQ1NWU4ZDM1MzM3MzRkYzk4YzI1L3RleHRyZWdpb246MjIxZmEzNjgxNDgzNDU1ZThkMzUzMzczNGRjOThjMjVfNTEz_bac948dd-f3ef-4bf0-a759-aed2241c4761" continuedAt="ie7a891d29ea748fa98d890a99d1c46b8" escape="true">Commitments and Contingencies</ix:nonNumeric></span></div><div style="text-align:justify"><span><br/></span></div><ix:continuation id="ie7a891d29ea748fa98d890a99d1c46b8" continuedAt="i4c51033697f4416f85ce3c3c242002ce"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See Note&#160;13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Contractual Obligations and Commitments</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our contractual obligations and commitments have not materially changed as of April&#160;1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December&#160;31, 2022. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Matters</span></div></ix:continuation><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i4c51033697f4416f85ce3c3c242002ce">From time to time, we may be subject to legal proceedings and claims in the ordinary course of business. As of April&#160;1, 2023, and as of the filing of this Quarterly Report on Form&#160;10-Q, we were not involved in any material legal proceedings.</ix:continuation> </span></div><div style="text-align:justify"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_73"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note&#160;13 &#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:LesseeOperatingLeasesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfOTY5_bf810406-45e5-4fbb-b492-77844ae34ac9" continuedAt="i440d794d2e6a45f8b7f357dd0bd82cb8" escape="true">Leases</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="i440d794d2e6a45f8b7f357dd0bd82cb8" continuedAt="i5284b69302af410989cf59f8329f6485"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We lease real estate space under non-cancelable operating lease agreements for commercial and industrial space, as well as for a portion of our corporate headquarters located in Livermore, California. Our leases have remaining terms of <ix:nonNumeric contextRef="i5808ac56e8724d9483b50db7563a40f6_I20230401" name="us-gaap:LesseeOperatingLeaseTermOfContract" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfMjU5_08d1bf0f-0507-4100-b59d-edf30cbee730">1</ix:nonNumeric> to <ix:nonNumeric contextRef="i86e206e6282d48df8160241056830aba_I20230401" name="us-gaap:LesseeOperatingLeaseTermOfContract" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfMjY1_fd0a1c36-44f7-441a-84aa-7b015bdc7650">6</ix:nonNumeric> years, and some leases include options to extend up to <ix:nonNumeric contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" name="us-gaap:LesseeOperatingLeaseRenewalTerm" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfMzE3_bc08d406-9497-415b-9002-84aa5e95cd20">20</ix:nonNumeric> years. We also have operating leases for automobiles with remaining lease terms of <ix:nonNumeric contextRef="i0fac63ac36a244b28d9b24d06a2de166_I20230401" name="us-gaap:LesseeOperatingLeaseTermOfContract" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfMzk3_7c8b2efe-d92b-4661-8cd1-2e58cf65a161">1</ix:nonNumeric> year. We did not include any of our renewal options in our lease terms for calculating our lease liability as the renewal options allow us to maintain operational flexibility and we are not reasonably certain we will exercise these options at this time. The weighted-average remaining lease term for our operating leases was <ix:nonNumeric contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfNzI2_13acdd7d-4e54-438d-8b5b-6d5271e5a94b">5</ix:nonNumeric> years as of April&#160;1, 2023 and the weighted-average discount rate was <ix:nonFraction unitRef="number" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="4" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfNzgx_03029789-1ef8-4cdf-87a6-5c2f449984e0">3.92</ix:nonFraction>%. </span></div><div style="text-align:justify"><span><br/></span></div><div><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:LeaseCostTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfOTYz_6ecfcd15-9693-4666-8608-32c017a5ac9c" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease expense were as follows (in thousands): </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:67.174%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.399%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Lease expense:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease expense</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:OperatingLeaseExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfMy0xLTEtMS0xMTI4ODk_7271ecf8-af94-40d2-8259-5b20d1a71938">1,952</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:OperatingLeaseExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfMy0zLTEtMS0xMTI4ODk_64eb8d8a-8482-4fca-85f0-95bebaaf8f1c">2,221</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Short-term lease expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:ShortTermLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfNC0xLTEtMS0xMTI4ODk_92b04467-d26b-4190-bb3b-f534876c17df">157</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:ShortTermLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfNC0zLTEtMS0xMTI4ODk_faf38616-9dd5-4e44-a454-beb0b22b2fcb">40</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Variable lease expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:VariableLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfNS0xLTEtMS0xMTI4ODk_3f6e998d-1955-442c-ba20-cdf1ef056595">746</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:VariableLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfNS0zLTEtMS0xMTI4ODk_f492dfe2-3432-4d53-a207-3f54132abbc5">458</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfNi0xLTEtMS0xMTI4ODk_faaf857f-5e40-47b4-818f-a85f90f73d63">2,855</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfNi0zLTEtMS0xMTI4ODk_56d02896-4629-442a-b595-0421a69f6cec">2,719</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></ix:nonNumeric></div></ix:continuation><div style="text-align:justify"><span><br/></span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="i5284b69302af410989cf59f8329f6485"><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfOTcx_313dc033-6bff-4e4f-8781-7a45bb25f619" escape="true"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum payments under our non-cancelable operating leases were as follows as of April&#160;1, 2023 (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.328%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fiscal Year</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfMS0yLTEtMS0xMTI4ODk_884e74ad-23ed-4c3a-a002-ea34ec359b39">6,190</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfMi0yLTEtMS0xMTI4ODk_19574a49-3015-4556-abb9-74bac1d2ed3b">8,106</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfMy0yLTEtMS0xMTI4ODk_cfc6eb1d-c160-49cb-94dc-8001b24fe4a1">8,018</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfNC0yLTEtMS0xMTI4ODk_d61a4e8f-dfd2-472a-99d9-4716792d4bb5">6,641</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfNS0yLTEtMS0xMTI4ODk_4f6f2d00-a846-4449-abda-92b1ca927d11">5,756</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="form:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfNi0yLTEtMS0xMTI4ODk_4679d464-0636-4df8-8213-6bb57ffb1053">3,431</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;&#160;Total minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfNy0yLTEtMS0xMTI4ODk_3c498627-4237-40e1-b906-e3248fcd1b72">38,142</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: interest</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfOC0yLTEtMS0xMTI4ODk_0ffeebe6-659a-4275-bfaa-fa87ee1f7ce7">4,223</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;&#160;Present value of net minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:OperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfOS0yLTEtMS0xMTI4ODk_8b6d1e04-689c-4a23-8171-1b22d67419a4">33,919</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: current portion</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfMTAtMi0xLTEtMTEyODg5_9bc29fe6-c393-4137-b89c-344cbb17c590">7,512</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;&#160;Total long-term operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfMTEtMi0xLTEtMTEyODg5_8382617b-7776-40c2-99ad-954588f29925">26,407</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_76"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note&#160;14 &#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMjI0MQ_13ebaaf1-4bb4-41f1-a5f2-9063496bca49" continuedAt="id302982c37d74744a6dd0165e9befd35" escape="true">Revenue</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="id302982c37d74744a6dd0165e9befd35" continuedAt="i05267290894545b6af42385c5c20abdd"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Transaction price allocated to the remaining performance obligations:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> On April&#160;1, 2023, we had $<ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-5" name="us-gaap:RevenueRemainingPerformanceObligation" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMTA4_ff0e2591-2ec2-4847-b56f-504084639165">9.8</ix:nonFraction> million of remaining performance obligations, which were comprised of deferred service contracts and extended warranty contracts and contracts with overtime revenue recognition that are not yet delivered.&#160;We expect to recognize approximately&#160;<ix:nonFraction unitRef="number" contextRef="i395d9aa550624ec2bb1059db6b563618_I20230401" decimals="3" name="us-gaap:RevenueRemainingPerformanceObligationPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMzQ1_d5552a1b-4445-4d74-bf48-64eb8d906989">67.6</ix:nonFraction>% of our remaining performance obligations as revenue in the remainder of fiscal 2023, approximately <ix:nonFraction unitRef="number" contextRef="ice9a0c10ada145f28c2b1602c40f3b47_I20230401" decimals="3" name="us-gaap:RevenueRemainingPerformanceObligationPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfNDQ3_7563c17a-9dc1-4208-a1b1-c70787687fef">26.8</ix:nonFraction>% in fiscal 2024, and approximately <ix:nonFraction unitRef="number" contextRef="i1af4ba8a470444dd8b60d0cd67b6cde0_I20230401" decimals="3" name="us-gaap:RevenueRemainingPerformanceObligationPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfNDg0_f32b514b-989b-4b73-a582-5a2fc9084b0f">5.6</ix:nonFraction>% in fiscal 2025 and thereafter. The foregoing excludes the value of other remaining performance obligations as they have original durations of one year or less, and also excludes information about variable consideration allocated entirely to a wholly unsatisfied performance obligation. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Contract balances:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;The timing of revenue recognition may differ from the timing of invoicing to customers. Accounts receivable is recorded at the invoiced amount, net of an allowance for credit losses. A receivable is recognized in the period we deliver goods or provide services or when our right to consideration is unconditional. A contract asset is recorded when we have performed under the contract but our right to consideration is conditional on something other than the passage of time. Contract assets as of April&#160;1, 2023 and December&#160;31, 2022 were $<ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-5" name="us-gaap:ContractWithCustomerAssetNet" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMTMwNw_b3e6153b-56d5-4f74-84e0-0927d7d43a02">2.9</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-5" name="us-gaap:ContractWithCustomerAssetNet" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMTMxNA_4cd01f04-be76-4eba-bff0-a9a5c73117b5">1.9</ix:nonFraction> million, respectively, and are reported on the Condensed Consolidated Balance Sheets as a component of Prepaid expenses and other current assets.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract liabilities include payments received and payments due in advance of performance under a contract and are satisfied as the associated revenue is recognized. Contract liabilities are reported on the Condensed Consolidated Balance Sheets at the end of each reporting period as a component of Deferred revenue and Other liabilities. Contract liabilities as of April&#160;1, 2023 and December&#160;31, 2022 were $<ix:nonFraction unitRef="usd" contextRef="ie391b3e511a247a8a50597da9a583817_I20230401" decimals="-5" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMTgzNw_5087cd79-6f10-40a5-a406-70e5a27a46a5">24.9</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231" decimals="-5" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMTg0NA_f9f74105-f8f1-42a6-acea-84478149e6d6">30.9</ix:nonFraction> million, respectively. During the three months ended April&#160;1, 2023, we recognized $<ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-5" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMTkwNw_2fe752ad-06a8-479d-8627-cbb4da062b17">14.0</ix:nonFraction> million of revenue that was included in contract liabilities as of December&#160;31, 2022.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Costs to obtain a contract:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We generally expense sales commissions when incurred as a component of Selling, general and administrative expense, as the amortization period is typically less than one year. </span></div></ix:continuation><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><ix:continuation id="i05267290894545b6af42385c5c20abdd" continuedAt="ic6350b53b7ce4725b4ded4012253b1fe"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue by category: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note&#160;15, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Operating Segments and Enterprise-Wide Information</span></ix:continuation><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="ic6350b53b7ce4725b4ded4012253b1fe">, for further details.</ix:continuation> </span></div><div><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_82"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Note&#160;15 &#8212; <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:SegmentReportingDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RleHRyZWdpb246NGE1MDA2NDAxMGE5NGQ3YmExMTE3MWNiMDZjZWYzYzJfMTEzNQ_e4717981-2a8b-4d9d-8cd8-056a1b043710" continuedAt="i7e1bc0bc98244467b9c4f781465ae554" escape="true">Operating Segments and Enterprise-Wide Information</ix:nonNumeric></span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i7e1bc0bc98244467b9c4f781465ae554" continuedAt="ia31126be2d694eb6be8be36ff19f9114">Our chief operating decision maker (&#8220;CODM&#8221;) is our Chief Executive Officer, who reviews operating results to make decisions about allocating resources and assessing performance for the entire company. We operate in <ix:nonFraction unitRef="segment" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="INF" name="us-gaap:NumberOfReportableSegments" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RleHRyZWdpb246NGE1MDA2NDAxMGE5NGQ3YmExMTE3MWNiMDZjZWYzYzJfMjgy_4cc23f2c-39f9-48ac-9fd8-e3f355d741d7">two</ix:nonFraction> reportable segments consisting </ix:continuation></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><ix:continuation id="ia31126be2d694eb6be8be36ff19f9114"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of the Probe Cards segment and the Systems segment. <ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RleHRyZWdpb246NGE1MDA2NDAxMGE5NGQ3YmExMTE3MWNiMDZjZWYzYzJfMTE1MA_74e55b70-5963-4609-9be2-0731ede69dc1" continuedAt="i202586fac8cd4bbaa60fa12de3f1bf2d" escape="true">The following table summarizes the operating results by reportable segment (dollars in thousands):</ix:nonNumeric></span></div><div style="text-align:justify"><ix:continuation id="i202586fac8cd4bbaa60fa12de3f1bf2d"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:10.888%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.133%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.142%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6799f4892e69498f84fdcbb37f078a02_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy0xLTEtMS0xMTI4ODk_e28c2259-68bf-4e21-8230-847799fe95c3">127,328</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idafa2106a1e248679a8dd6bbc5ffe836_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy0zLTEtMS0xMTI4ODk_a0bfc158-4e81-4562-b735-4e4cdf9a5a26">40,120</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia6cd83b723cb4befa61de97eeab914e8_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy01LTEtMS0xMTI4ODk_0cca5102-b9a3-4b95-83f2-886b51da2fdb">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy03LTEtMS0xMTI4ODk_b159457e-ab56-4cb0-a6a2-32f6d401bc62">167,448</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic9216ee9ab2a440bb01d0fd72414117a_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy05LTEtMS0xMTI4ODk_8f8a2025-771c-4eda-9fa4-b75e7d5ac00a">159,983</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i416c5312e797409088f4faf3df8164c2_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy0xMS0xLTEtMTEyODg5_4c60df2e-5618-4aa2-ab12-31326db289de">37,191</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib78660443e5342919fd39eefb59b54ab_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy0xMy0xLTEtMTEyODg5_00691a19-a9f3-4b70-9de4-c47dedb90733">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy0xNS0xLTEtMTEyODg5_19aae8a0-bbee-457c-833f-3e9eb8aef7aa">197,174</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6799f4892e69498f84fdcbb37f078a02_D20230101-20230401" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC0xLTEtMS0xMTI4ODk_c71b1dbd-7774-4762-af4c-37f8b7e8d68c">43,623</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idafa2106a1e248679a8dd6bbc5ffe836_D20230101-20230401" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC0zLTEtMS0xMTI4ODk_e82391d6-6d8d-4936-8b21-769d00c5ef6c">20,746</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ia6cd83b723cb4befa61de97eeab914e8_D20230101-20230401" decimals="-3" sign="-" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC01LTEtMS0xMTI4ODk_302a6b65-6632-4860-8950-09a9e56a055f">3,291</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC03LTEtMS0xMTI4ODk_f33bae9a-ba52-429d-8efc-02395cf7eed8">61,078</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic9216ee9ab2a440bb01d0fd72414117a_D20211226-20220326" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC05LTEtMS0xMTI4ODk_0ced0838-023f-4998-8eef-e07d6870ddad">77,202</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i416c5312e797409088f4faf3df8164c2_D20211226-20220326" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC0xMS0xLTEtMTEyODg5_67bd1bb5-02fb-4f10-8bca-8f8e89fb792c">19,407</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib78660443e5342919fd39eefb59b54ab_D20211226-20220326" decimals="-3" sign="-" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC0xMy0xLTEtMTEyODg5_afe9abd2-ed22-4ad6-9342-17dba24d58cb">2,385</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC0xNS0xLTEtMTEyODg5_3fd0c777-3696-421c-9ccd-d38fbcec4c49">94,224</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross margin</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i6799f4892e69498f84fdcbb37f078a02_D20230101-20230401" decimals="3" name="form:GrossMarginPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS0xLTEtMS0xMTI4ODk_c2825c6b-623d-442b-8018-33b92cb8a5cc">34.3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="idafa2106a1e248679a8dd6bbc5ffe836_D20230101-20230401" decimals="3" name="form:GrossMarginPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS0zLTEtMS0xMTI4ODk_833608a1-27ac-4303-ae2f-649c7123edf6">51.7</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"><ix:nonFraction unitRef="number" contextRef="ia6cd83b723cb4befa61de97eeab914e8_D20230101-20230401" xsi:nil="true" name="form:GrossMarginPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS01LTEtMS0xMTI4ODk_ea59ec0e-d843-4bd7-915c-cfe51e1106f7"></ix:nonFraction></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="3" name="form:GrossMarginPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS03LTEtMS0xMTI4ODk_b952014f-1f1f-420e-b2c4-dac2aa241e98">36.5</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="ic9216ee9ab2a440bb01d0fd72414117a_D20211226-20220326" decimals="3" name="form:GrossMarginPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS05LTEtMS0xMTI4ODk_0c9711d0-1242-47cc-ae78-82c715015ab9">48.3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i416c5312e797409088f4faf3df8164c2_D20211226-20220326" decimals="3" name="form:GrossMarginPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS0xMS0xLTEtMTEyODg5_5487587f-715f-4243-be6e-acc265e102b9">52.2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"><ix:nonFraction unitRef="number" contextRef="ib78660443e5342919fd39eefb59b54ab_D20211226-20220326" xsi:nil="true" name="form:GrossMarginPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS0xMy0xLTEtMTEyODg5_8cb19740-363f-42d8-b729-9f3a7f71bee4"></ix:nonFraction></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="3" name="form:GrossMarginPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS0xNS0xLTEtMTEyODg5_dd4fec9f-bddf-4549-89ad-d61ac361ad3d">47.8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></ix:continuation></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating results provide useful information to our management for assessment of our performance and results of operations. Certain components of our operating results are utilized to determine executive compensation along with other measures. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate and Other includes unallocated expenses relating to amortization of intangible assets, inventory and fixed asset fair value adjustments due to acquisitions, share-based compensation, and restructuring charges which are not used in evaluating the results of, or in allocating resources to, our reportable segments.</span></div><div style="text-align:justify"><span><br/></span></div><div><ix:nonNumeric contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RleHRyZWdpb246NGE1MDA2NDAxMGE5NGQ3YmExMTE3MWNiMDZjZWYzYzJfMTEzOQ_b06c0f0a-a26f-4dbb-88b6-730acfb83087" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain revenue category information by reportable segment was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:40.712%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.113%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Market:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foundry &amp; Logic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie3f57f4658024943a997aa8668aa48d1_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNC0xLTEtMS0xMTI4ODk_e47d3b47-1b56-43f2-ac0f-29914ee90d50">101,562</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icb207516222642b0b03061d743015c19_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNC0zLTEtMS0xMTI4ODk_6817c988-ffc3-4f9b-807d-27066f25a0d1">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i57ab77dbccc3409bbb5e6e5e7b8f7894_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNC01LTEtMS0xMTI4ODk_8f5d4a46-e676-4d45-8688-6a2104deb782">101,562</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6861222872134435bf1efe71e802aae9_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNC03LTEtMS0xMTI4ODk_fbd96177-e4ed-48fb-8a22-6e1c626e18b2">114,121</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie9468e14e1ff4c62b68559b78b297bd6_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNC05LTEtMS0xMTI4ODk_d2cffd26-ecd7-4bf6-9cd3-94ec6c283666">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib953e584b4bb4e11a980b5e8acda3136_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNC0xMS0xLTEtMTEyODg5_e93e9830-c06e-45c4-bf46-3fff5df6881d">114,121</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">DRAM</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2aaa39893dcb4023846ebdb2ec8c933b_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNS0xLTEtMS0xMTI4ODk_89049a2d-bbc2-4955-9fce-065510eb7231">19,890</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i266271e17afe4a57bcc2fab6e76d9461_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNS0zLTEtMS0xMTI4ODk_d127fddd-2831-49b7-8d56-fe882dbe27e6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i007b4e45424f471b9629da09a3605d1b_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNS01LTEtMS0xMTI4ODk_1f727052-8b5c-4519-baf5-db17b5336fd0">19,890</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i52ea4778270f4b9bb78dda43ac72670b_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNS03LTEtMS0xMTI4ODk_d4dcaa4d-a348-4e1d-8942-ecf810c4a5e2">34,437</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5cbbbaf5fc9d4371823b2348bf486ffe_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNS05LTEtMS0xMTI4ODk_3202900e-c3db-49e6-b35e-3c3ad0e03f3a">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i81af7d056faa4c07bf200003672f214f_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNS0xMS0xLTEtMTEyODg5_a24d1e79-f085-4f9b-a9c7-13e0de8816d2">34,437</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Flash</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i81131e87b9d745e3befe5db80fdf0f1c_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNi0xLTEtMS0xMTI4ODk_ad75d3a0-0cbb-44ac-ad2e-f42b7b7b78a2">5,876</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i764f57f8fdf94f0588744fd2195380b5_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNi0zLTEtMS0xMTI4ODk_88055003-e2f2-426f-973d-c1de517e3693">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i69508750369f4341845545a96895402a_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNi01LTEtMS0xMTI4ODk_dbf4107f-2dc7-44e7-84d0-1f26b014b7ed">5,876</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i38d12d03b6f84fa3819af6398067eb30_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNi03LTEtMS0xMTI4ODk_a8624782-a7e5-4df2-898f-9f7c047017b7">11,425</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b9c1393c8de480083cff99bbf25319e_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNi05LTEtMS0xMTI4ODk_ef4b1684-125c-4667-9105-2f1ff6dcbd2c">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i75a366b43b8b4586b8ab6f43e0b11dae_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNi0xMS0xLTEtMTEyODg5_0319b469-52f9-4de9-b402-f79b2ed13aeb">11,425</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Systems</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia68b5447e2994f8cb9e415a6ce3af946_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNy0xLTEtMS0xMTI4ODk_52b90af7-59c8-4243-bd94-161a693cb7ef">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i89af6a405c09446ba30a2a3314e38887_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNy0zLTEtMS0xMTI4ODk_20916909-612a-4681-a60a-bd13abccac94">40,120</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i744dd35966914451b5084e9dc0bb3214_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNy01LTEtMS0xMTI4ODk_cb548d8d-3cba-4488-894b-ce0f0949e3ab">40,120</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6f2cd2293e3742c799e6fb09b7662926_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNy03LTEtMS0xMTI4ODk_a2c690e4-9c4e-4cf9-b63f-e05bebbc3a3f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i40031554171a497798ea6f3e6b43626e_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNy05LTEtMS0xMTI4ODk_9e38b2b2-1018-493e-8635-dc3ed8e72352">37,191</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic235b1adb6f24f2381252950cea3f0e9_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNy0xMS0xLTEtMTEyODg5_136627f7-9c4f-4ca1-91ba-53147910f2f0">37,191</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c18bf3d5fc448e58ed4984c43215955_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfOC0xLTEtMS0xMTI4ODk_e94e451b-6afa-497e-a0d8-8989c77139e3">127,328</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i053bfe5a4e704c5b922d9931322549aa_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfOC0zLTEtMS0xMTI4ODk_3bba022e-9e38-4a22-8d5e-432780772765">40,120</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfOC01LTEtMS0xMTI4ODk_2fc73012-e80b-4d19-a481-b76d108c37b7">167,448</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i54f2f2fa7e50416aa38c90bcc04d78f8_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfOC03LTEtMS0xMTI4ODk_88d8433f-604d-4ab5-ba21-d1f47e631e84">159,983</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifa49921cb7384c388de263ba1beea208_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfOC05LTEtMS0xMTI4ODk_539e5fdd-9e2f-49e4-9517-f203dfb586a6">37,191</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfOC0xMS0xLTEtMTEyODg5_ba04172b-2040-4bc3-96ec-f4b5beab1d4b">197,174</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Timing of revenue recognition:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products transferred at a point in time</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1488a50f1c794c9fbaa68a857ae26cac_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTAtMS0xLTEtMTEyODg5_e0d53df6-7163-4a65-be71-f5968ac908a0">126,678</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib502d25daae043e6afbff8cb7b362887_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTAtMy0xLTEtMTEyODg5_1d642b72-8ee7-4833-b5d8-fbad0eba9ecf">36,710</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic44dc2978e884bbd9466062ae11fedf1_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTAtNS0xLTEtMTEyODg5_fca510f1-9cc3-4d9c-bed0-d6681a043766">163,388</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iab0ee60fb57747799dd9400b3ff1f8c2_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTAtNy0xLTEtMTEyODg5_fb39f9cb-4215-4168-8c79-af2cf6a7b958">158,836</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6fa94ae85bd7418c9a016f8ea73d9d1c_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTAtOS0xLTEtMTEyODg5_fe951eb2-2e66-4cb2-985c-ee52903d8142">35,416</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i134bda744ed0424c96fadc32de7c50c4_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTAtMTEtMS0xLTExMjg4OQ_4c22d86e-e229-425c-b897-19c29c945d92">194,252</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products and services transferred over time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id64205c2964f4c54a4290871570a94cf_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTEtMS0xLTEtMTEyODg5_1aef31a3-bd71-4835-b318-a8afb50ce91e">650</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i20307a1b1ed94e5490c664c65f9c9904_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTEtMy0xLTEtMTEyODg5_78cb6dab-320b-4cb0-a36b-668f5445d789">3,410</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i75948687300041d090a82594e13f7ca5_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTEtNS0xLTEtMTEyODg5_eaf1df21-0034-4b9a-b9cd-9187cffae6e5">4,060</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i79e0c0052c1f4135a501117dd15b3a7b_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTEtNy0xLTEtMTEyODg5_4dbacafa-463b-4aae-ae43-45ac3de8820c">1,147</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a828079b7094f718c6e884b6d45e4ee_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTEtOS0xLTEtMTEyODg5_8c6c5e46-8769-43f6-a9be-d6a66e91857a">1,775</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ica5134de62dd4545ab3b260d7d27743d_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTEtMTEtMS0xLTExMjg4OQ_325691d6-6059-4fbc-b404-388376e6fc75">2,922</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c18bf3d5fc448e58ed4984c43215955_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTItMS0xLTEtMTEyODg5_66727145-8d90-44de-8fec-d396f5d1355c">127,328</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i053bfe5a4e704c5b922d9931322549aa_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTItMy0xLTEtMTEyODg5_026bca09-653d-41e2-aec5-7f33c8b7283a">40,120</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTItNS0xLTEtMTEyODg5_c93f0696-d664-4553-875b-d50b8ccd0a8c">167,448</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i54f2f2fa7e50416aa38c90bcc04d78f8_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTItNy0xLTEtMTEyODg5_99e9043f-3f7e-4e71-b4d8-4af1222df43c">159,983</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifa49921cb7384c388de263ba1beea208_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTItOS0xLTEtMTEyODg5_bd4db5e4-d23f-46fb-b58e-a2eda1383afd">37,191</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTItMTEtMS0xLTExMjg4OQ_cb2c2675-a7b7-483d-b9c9-da70b8ff53c1">197,174</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Geographical region:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i81da785277964902a701690fae11865b_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTUtMS0xLTEtMTEyODg5_24c2bc6d-66ac-473a-8465-126399416234">38,897</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i92392ed809004fb1a75c9e3c278d2456_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTUtMy0xLTEtMTEyODg5_b135da1e-9d3d-41ad-a2d7-cfe2bec5f7bd">1,432</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1a676884d1a04c6e87b1f9cf3f175b7a_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTUtNS0xLTEtMTEyODg5_bd619920-3eff-4abe-a0d7-b32bfd3ca8a5">40,329</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iad1c658a279c4745b0d1a886ed75f821_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTUtNy0xLTEtMTEyODg5_ca5511b0-d75b-480d-a8d4-187aebffc8c0">42,522</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2c30f6660ee44b12b0e077bb86b8f4d2_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTUtOS0xLTEtMTEyODg5_bd97aa45-a8cb-49a6-9825-c723e401c87b">10,547</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib1fface799f3462bb2b0e61e3e8d8f10_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTUtMTEtMS0xLTExMjg4OQ_a247c2a9-e33c-40de-bd4e-745c0c552ff1">53,069</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2c758b12153c434b8eaa9f607f1db25d_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTQtMS0xLTEtMTEyODg5_f9f3301c-0e4f-4c9e-8147-186b5db090d1">24,641</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5337f25c366d4835bd8a43e610921210_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTQtMy0xLTEtMTEyODg5_348dd743-ccaa-4680-b621-6a29d64946f0">13,090</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4b8bb859a76b48a080301b951b76bd90_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTQtNS0xLTEtMTEyODg5_2a980013-7740-4465-b210-2bb552b1506b">37,731</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6525bf52fdfa47f5adabab22a2873881_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTQtNy0xLTEtMTEyODg5_d9e0f924-d331-4041-a94f-17f3471f6523">19,976</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9be73b1d22a94f2ea1eda2c91c596f67_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTQtOS0xLTEtMTEyODg5_d6aa4d82-2dc3-4a1b-8bc8-22b5ce6283e7">5,671</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8a948107ecc145e2baff6c24d179554f_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTQtMTEtMS0xLTExMjg4OQ_a748ae0d-8354-4fd9-91e0-cc44150517f3">25,647</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">China</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iad28ecdf279b4e43961aca06c6d21859_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTYtMS0xLTEtMTEyODg5_bebed4f5-e1a3-497d-8fe8-4992eb5fbd11">18,476</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1d687f6558974f55b7f66e57dbccc17e_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTYtMy0xLTEtMTEyODg5_5e2f75fa-a22b-4958-8ca2-885d99ea455f">8,623</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i83bb271dfcce47cba292196b76a2dade_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTYtNS0xLTEtMTEyODg5_a8af6b8d-a4e3-4f67-b4c6-25293173f975">27,099</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibee3e0ac0ee5429cb1d971f77908e3bd_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTYtNy0xLTEtMTEyODg5_8bc501c4-984e-4d39-9fb4-6ab6a69f5b39">32,791</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8053af22f7dd41f7a23ba95b992f6fe7_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTYtOS0xLTEtMTEyODg5_bedefcda-e3f2-45df-b91d-5fb982a89405">5,608</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6ec50656699f488b9b52f67d7fdb2b79_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTYtMTEtMS0xLTExMjg4OQ_ab9aabf8-a4ce-4898-81fe-81fa47633bcb">38,399</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">South Korea</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7f865995caab464db4739dc18c62189c_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTctMS0xLTEtMTEyODg5_9386f0ab-518f-4af2-9d29-f507451f3302">19,572</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6507a08f7c5840dfa9054cb519745d2d_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTctMy0xLTEtMTEyODg5_2c8e7310-44f0-4a8c-808f-178bf08fdb20">1,203</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5d05b88744404d029a61c604fc8db06c_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTctNS0xLTEtMTEyODg5_1cd61d3f-ddb7-4abd-887f-3e7de54dc901">20,775</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib3752d819d1048c89f6920d7d9e32c1d_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTctNy0xLTEtMTEyODg5_c5745af1-7c5b-4466-87fd-1c4e3905466f">24,881</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1409dd5e93e64711b040238882879a40_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTctOS0xLTEtMTEyODg5_80bad1f3-52f0-4e98-850d-9065db6642e5">2,620</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i68c0c7f21acb455bb1594c12a2dbfa3b_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTctMTEtMS0xLTExMjg4OQ_590378e5-be85-4859-8a82-30dd3fa88d2d">27,501</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Malaysia</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7f172e3509464e918c0a87ba4283e5bd_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjEtMS0xLTEtMTEyODg5_827a0be8-69f0-4340-afc7-fb2ae2c214d4">10,324</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia6a21b1c92834d2b82cb2a8a7c59e713_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjEtMy0xLTEtMTEyODg5_0badb5fe-256e-498b-9b7d-a3493ac08d4f">946</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic06e4101362e4e9695c9e997df7b0f81_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjEtNS0xLTEtMTEyODg5_41c6c86c-0707-4259-8067-ec8b024b3f0e">11,270</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i407ac2ed3ed14d8f8217b2302f71d2ca_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjEtNy0xLTEtMTEyODg5_42adfb53-c31b-4ea8-a4d7-5f76639c2639">21,517</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0889f288138e4be986fd4526fcd765db_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjEtOS0xLTEtMTEyODg5_19260282-fa8c-4018-b91f-1e033f4b9d74">682</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7e91e67abc894725bbfc242d7a721b8e_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjEtMTEtMS0xLTExMjg4OQ_fd813709-80aa-475b-b8a5-3ecaca2a0133">22,199</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id6c666fc64c440759f9618aace5820d7_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjAtMS0xLTEtMTEyODg5_8b73795a-c363-4ef1-8fa0-23516dfa3809">7,136</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5ef2131c3ede459b800af8e0eda58b4a_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjAtMy0xLTEtMTEyODg5_cc647118-4090-4a42-9344-7f9044fc27b9">3,841</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4f4bc73792f546eeb6d5406f68d67f24_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjAtNS0xLTEtMTEyODg5_e3c85887-72f1-44b5-a1ea-dde1ec2683b0">10,977</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9d6453bfae0a4a0085a505143d64d584_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjAtNy0xLTEtMTEyODg5_abb3772b-271d-4e7f-8cc9-e91016b3cddc">4,785</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia5d8ed6eb7aa46b99e1616b9ee248752_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjAtOS0xLTEtMTEyODg5_fd2dee20-b1ef-44fe-8ccc-ab1b57d22a23">4,597</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib126b5d6b87246a897198cbe4d795a2c_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjAtMTEtMS0xLTExMjg4OQ_c0d49ba7-0a4e-48e5-ba4f-7f0903c7256a">9,382</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i654bd1564de945ff812e812c9bc9576f_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTgtMS0xLTEtMTEyODg5_68817039-6ebe-4219-b9ed-78088a6d59ce">3,426</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i461d5fe8aac047cf8fcaf7fc448c9696_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTgtMy0xLTEtMTEyODg5_8690762b-503e-4fd1-aa74-52680ed5c0e0">6,000</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i513e4403d35d43e48725caa76a757877_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTgtNS0xLTEtMTEyODg5_a69f7697-4530-44ce-a9f7-3e8e9dbcc61c">9,426</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if2c3fc7e45274488a2a6ef76e75684fe_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTgtNy0xLTEtMTEyODg5_43d6ccfc-66b9-43ba-b7e1-dd3ecdb37ed0">2,382</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i10e203ee90654dcab429dce0536e133c_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTgtOS0xLTEtMTEyODg5_fc60ccbb-0d1e-44b9-b903-969a76ffc08c">6,013</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id67db979c6a94444ade9b8a4ab9f725e_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTgtMTEtMS0xLTExMjg4OQ_90543bf5-a4c8-49d3-829f-6d37e31cfb67">8,395</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Singapore</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibc0b0428e0f843888e6d7665dd1f032f_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTktMS0xLTEtMTEyODg5_9952c99c-d0de-48d6-a558-c4d5507f534c">3,200</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id503bb2fc33e425bbc56cef72c72cc19_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTktMy0xLTEtMTEyODg5_23749a94-4970-4a76-bb33-ada2cf9fc930">2,140</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1ebb525b6c614078a9e5ff7912b3f2ec_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTktNS0xLTEtMTEyODg5_acf46417-5733-43df-bd8a-99259f5d8dca">5,340</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iba5fd4c6177147d59298e1a8ab5c6e10_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTktNy0xLTEtMTEyODg5_5bc2e119-4d1f-4e7c-9287-d9f3bbba1567">10,284</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i811f44c68eaa4500bef0308f02af1310_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTktOS0xLTEtMTEyODg5_320b7c2f-82b3-4c6c-b58c-463a9c134af2">612</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic8d63af8ddfa4cf9b0087cfdc204cece_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTktMTEtMS0xLTExMjg4OQ_42ad63a0-2a0b-418d-b4ce-e54202b10619">10,896</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Rest of the world</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic13816905676417c8d63b98c2b9454da_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjItMS0xLTEtMTEyODg5_8d07b70d-d537-45bf-bd4d-95beacaa36ec">1,656</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7fb128364d9d457dac8137e8dca2a37a_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjItMy0xLTEtMTEyODg5_0a4fa6d5-19cc-46b5-94c7-958dcfe8a308">2,845</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib564e85ade4748579fc7ab660398f569_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjItNS0xLTEtMTEyODg5_14b1412d-8dc6-4149-b64a-61cb3d3505b5">4,501</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic0f60a5036944fdd9696a6b335a55c78_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjItNy0xLTEtMTEyODg5_a23c5d1f-6f25-46e0-8282-98e64615aac9">845</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i77eea6a948d743a5aebb380f281512c4_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjItOS0xLTEtMTEyODg5_91a61f15-395b-446f-89cc-d0a5603baf73">841</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i91ef3001d5af493fb558e3570ab9fac6_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjItMTEtMS0xLTExMjg4OQ_d8b6a9b4-eecb-415b-9329-8897321f563e">1,686</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6c18bf3d5fc448e58ed4984c43215955_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjMtMS0xLTEtMTEyODg5_76e259df-ff08-4448-af49-ef012af6e0cc">127,328</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i053bfe5a4e704c5b922d9931322549aa_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjMtMy0xLTEtMTEyODg5_d63ff40d-9b8a-494a-9d7f-012968c63b4f">40,120</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjMtNS0xLTEtMTEyODg5_87b086b4-e7e0-4f0d-b15f-ee1e802bed5b">167,448</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i54f2f2fa7e50416aa38c90bcc04d78f8_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjMtNy0xLTEtMTEyODg5_8ac60a7e-de21-4095-ae1c-9c5d2e415e11">159,983</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifa49921cb7384c388de263ba1beea208_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjMtOS0xLTEtMTEyODg5_e2abe632-e7a4-45b8-b66a-5d696d6bac0c">37,191</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjMtMTEtMS0xLTExMjg4OQ_c05bc5db-0543-4a86-9d55-ca59931f3195">197,174</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div></ix:continuation><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:41.883%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.910%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.390%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.917%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:11pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div id="ia6fb55369a22456888fa85eea58ff384_88"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 2. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div id="ia6fb55369a22456888fa85eea58ff384_91"></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cautionary Statement Regarding Forward-Looking Statements</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">This Quarterly Report on Form&#160;10-Q contains forward-looking statements within the meaning of the Securities Exchange Act of 1934 and the Securities Act of 1933, which are subject to risks and uncertainties. The forward-looking statements include statements concerning, among other things, our business strategy, financial and operating results, gross margins, liquidity and capital expenditure requirements and impact of accounting standards. In some cases, you can identify these statements by forward-looking words, such as &#8220;may,&#8221; &#8220;might,&#8221; &#8220;will,&#8221; &#8220;could,&#8221; &#8220;should,&#8221; &#8220;expect,&#8221; &#8220;plan,&#8221; &#8220;anticipate,&#8221; &#8220;believe,&#8221; &#8220;estimate,&#8221; &#8220;predict,&#8221; &#8220;intend&#8221; and &#8220;continue,&#8221; the negative or plural of these words and other comparable terminology.</span></div><div style="text-align:justify;text-indent:13.5pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The forward-looking statements are only predictions based on our current expectations and our projections about future events. All forward-looking statements included in this Quarterly Report on Form&#160;10-Q are based upon information available to us as of the filing date of this Quarterly Report on Form&#160;10-Q. You should not place undue reliance on these forward-looking statements. We have no obligation to update any of these statements. These forward-looking statements involve known and unknown risks, uncertainties and other factors that may cause our actual results, levels of activity, performance or achievements to differ materially from those expressed or implied by these statements, including risks related to general market trends, the benefits of acquisitions and investments, our supply chain, uncertainties related to COVID-19 and other global, regional or national public health-related crises and the impact of our responses to them, the interpretation and impacts of changes in export controls and other trade barriers, military conflicts, political volatility and similar factors, our ability to execute our business strategy and other risks discussed in the section titled &#8220;Risk Factors&#8221; and elsewhere in our Annual Report on Form&#160;10-K for the year ended December&#160;31, 2022 and in this Quarterly Report on Form&#160;10-Q. You should carefully consider the numerous risks and uncertainties described under these sections.</span></div><div style="text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following discussion and analysis should be read in conjunction with our condensed consolidated financial statements and the accompanying notes contained in this Quarterly Report on Form&#160;10-Q. Unless expressly stated or the context otherwise requires, the terms &#8220;we,&#8221; &#8220;our,&#8221; &#8220;us&#8221; and &#8220;FormFactor&#8221; refer to FormFactor,&#160;Inc. and its subsidiaries.</span></div><div style="text-align:justify"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_94"></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">FormFactor, Inc., headquartered in Livermore, California, is a leading provider of essential test and measurement technologies along the full semiconductor product lifecycle - from characterization, modeling, reliability, and design de-bug, to qualification and production test. We provide a broad range of high-performance probe cards, analytical probes, probe stations, metrology systems, thermal systems, and cryogenic systems to both semiconductor companies and scientific institutions. Our products provide electrical and physical information from a variety of semiconductor and electro-optical devices and integrated circuits from early research, through development, to high-volume production. Customers use our products and services to accelerate profitability by optimizing device performance and advancing yield knowledge.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate in two reportable segments consisting of the Probe Cards segment and the Systems segment. Sales of our probe cards and analytical probes are included in the Probe Cards segment, while sales of our probe stations, metrology systems, thermal systems and cryogenic systems are included in the Systems segment.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We generated net income of $1.3 million in the first three months of fiscal 2023 as compared to $29.9 million in the first three months of fiscal 2022. The decrease in net income was primarily due to a decline in revenues and the associated decline in gross margins.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Significant Accounting Policies and the Use of Estimates</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Management&#8217;s Discussion and Analysis and Note 2, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Summary of Significant Accounting Policies</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, to the Consolidated Financial Statements in our 2022 Annual Report on Form 10-K describe the significant accounting estimates and significant accounting policies used in preparation of the Consolidated Financial Statements. Actual results in these areas could differ from management&#8217;s estimates. During the three months ended April&#160;1, 2023, there were no significant changes in our significant accounting policies or estimates from those reported in our Annual Report on Form 10-K for the year ended December&#160;31, 2022, which was filed with the Securities and Exchange Commission on February 24, 2023, except for:</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Government Assistance</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2023, we received $18.0&#160;million in cash from a California Competes Grant (the &#8220;Grant&#8221;) awarded from the California Governor&#8217;s Office of Business and Economic Development. The Grant requires FormFactor to create and maintain full-time jobs and make significant infrastructure investments within California over a 5-year term. If we do not meet the requirements of the Grant, we will be required to repay all or a portion of the Grant.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Grant is included in our Condensed Consolidated Balance Sheets within Deferred grant and we have elected to recognize when earned as an offset to Cost of revenues and Operating expenses within our Condensed Consolidated Statements of Income. We have elected to present the proceeds from the Grant as cash provided by operating activities within our Condensed Consolidated Statements of Cash Flows as the grant is to offset operations. </span></div><div style="text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20</span></div></div></div><div id="ia6fb55369a22456888fa85eea58ff384_97"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Results of Operations</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth our operating results as a percentage of revenues for the periods indicated:</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenues</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">63.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">52.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36.5&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47.8&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total operating expenses</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36.4&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30.5&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating income</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.1&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17.3&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other income, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Income before income taxes</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.8&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17.4&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Provision for income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.8&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15.2&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenues by Segment and Market</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In&#160;thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Probe Cards</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Systems</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div><span><br/></span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:33.402%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.256%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.034%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.256%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.256%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.264%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">% of Revenues</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">% of Revenues</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$ Change</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">% Change</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(Dollars in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Probe Cards Markets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foundry &amp; Logic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">101,562&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">60.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,121&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">57.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(12,559)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(11.0)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">DRAM</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,890&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,437&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(14,547)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(42.2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Flash</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,876&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,425&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(5,549)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(48.6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Systems Market:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Systems</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,929&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(29,726)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(15.1)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%">Foundry &amp; Logic</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">&#8212; </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The decrease in Foundry &amp; Logic product revenue for the three months ended April&#160;1, 2023, compared to the three months ended March&#160;26, 2022, was driven by the weakening demand in the semiconductor industry that began in the third quarter of fiscal 2022 and continued into the three months ended April&#160;1, 2023 and resulted in decreased unit sales across all major customers. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%">DRAM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">&#8212; </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The decrease in DRAM product revenue for the three months ended April&#160;1, 2023, compared to the three months ended March&#160;26, 2022, was driven by lower customer demand, a result of the semiconductor industry's overall demand weakening and DRAM market weakness.</span></div><div style="text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%">Flash</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">&#8212; </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The decrease in Flash product revenue for the three months ended April&#160;1, 2023, compared to the three months ended March&#160;26, 2022, was driven by decreased customer demand from large multi-national customers, a result of the semiconductor industry's overall demand weakening and Flash market weakness. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%">Systems</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">&#8212; </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The increase in Systems market revenue for the three months ended April&#160;1, 2023, compared to the three months ended March&#160;26, 2022, was driven by increased sales of our 200 millimeter probe stations and cryogenic systems, partially offset by decreased sales of our metrology systems.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenues by Geographic Region</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.110%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.087%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.092%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">% of Revenues</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">% of Revenues</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(Dollars in&#160;thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,329&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24.1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,069&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,731&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">22.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,647&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">China</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,099&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,399&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">South Korea</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,775&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,501&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Malaysia</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,270&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">22,199&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japan</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,977&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,382&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,426&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,395&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Singapore</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,340&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,896&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Rest of the world</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,501&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,686&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Geographic revenue information is based on the location to which we ship the product. For example, if a certain South Korean customer purchases through their U.S. subsidiary and requests the products to be shipped to an address in South Korea, this sale will be reflected in the revenue for South Korea rather than the U.S.</span></div><div style="text-align:justify;text-indent:18pt"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in revenue by geographic region for the three months ended April&#160;1, 2023, compared to the three months ended March&#160;26, 2022, were primarily attributable to changes in customer demand, shifts in customer regional manufacturing strategies, particularly with our large multinational customers, and product sales mix. More specifically, the increase in revenues for the United States, and decreases in revenues for China and Malaysia were driven principally by a single large U.S.-based company with operations in these regions. The decrease in China mentioned previously is also impacted by lowered demand from a large Chinese DRAM integrated device manufacturer and the impact from expanded export license requirements imposed by the United States government in the fourth quarter of fiscal 2022 for exporting advanced U.S. semiconductor technology sold in China.</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cost of Revenues and Gross Margins</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues consists primarily of manufacturing materials, compensation and benefits, shipping and handling costs, manufacturing-related overhead (including equipment costs, related occupancy, and computer services), warranty adjustments, inventory adjustments (including write-downs for inventory obsolescence), and amortization of certain intangible assets. Our manufacturing operations rely on a limited number of suppliers to provide key components and materials for our products, some of which are a sole source. We order materials and supplies based on backlog and forecasted customer orders. Tooling and setup costs related to changing manufacturing lots at our suppliers are also included in the cost of revenues. We expense all warranty costs, inventory provisions and amortization of certain intangible assets as cost of revenues. </span></div><div style="text-align:justify;text-indent:27pt"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our gross profit and gross margin were as follows (dollars in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:46.707%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$ Change</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">% Change</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">61,078&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">94,224&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(33,146)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(35.2)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross margin</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify;text-indent:18pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our gross profit and gross margin by segment were as follows (dollars in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:17.905%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.256%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.110%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.256%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.110%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.402%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.268%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="45" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="21" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,623&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,746&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(3,291)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">61,078&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,202&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,407&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,385)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">94,224&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross margin</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">48.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">52.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Probe Cards </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#8212; </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended April&#160;1, 2023, gross margins decreased compared to the three months ended March&#160;26, 2022, primarily due to unfavorable absorption of costs on lower production volumes and greater inventory excess and obsolescence reserves.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Systems</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#8212; </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended April&#160;1, 2023, gross margins decreased compared to the three months ended March&#160;26, 2022, primarily as a result of less favorable product mix. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Corporate and Other</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> &#8212; </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate and Other includes unallocated expenses relating to share-based compensation and amortization of intangible assets, inventory and fixed asset fair value adjustments due to acquisitions, and restructuring, which are not used in evaluating the results of, or in allocating resources to, our reportable segments. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%">Overall</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:112%">&#8212; </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Gross profit and gross margins fluctuate with revenue levels, product mix, selling prices, factory loading, labor costs, and material costs. For the three months ended April&#160;1, 2023, compared to the three months ended March&#160;26, 2022, gross profit and gross margins have decreased on lower revenue levels, unfavorable absorption of costs on lower production volumes, and greater inventory excess and obsolescence reserves. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenues included stock-based compensation expense as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,910&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,078&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Research and Development</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:46.707%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$ Change</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">% Change</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(Dollars in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28,245&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,134&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,111&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4.1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">% of revenues</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development expenses in the three months ended April&#160;1, 2023 increased when compared to the corresponding period in the prior year primarily due to an increase in headcount, which is to support our continued investment in technology leadership. Increased general operational costs, annual salary adjustments, and stock-based compensation also contributed to the increase. These increases were partially offset by lower performance-based compensation and project material costs. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A detail of the changes is as follows (in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:24.778%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended April 1, 2023 compared to Three Months Ended March 26, 2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other general operational costs</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">490&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">386&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">263&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Project material costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(214)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee compensation costs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">186&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,111&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Research and development included stock-based compensation expense as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,372&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,986&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Selling, General and Administrative</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:46.707%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.332%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">$ Change</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">% Change</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(Dollars in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">32,742&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">32,906&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(164)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(0.5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">% of revenues</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Selling, general and administrative expenses decreased in the three months ended April&#160;1, 2023 when compared to the corresponding period in the prior year, primarily driven by lower performance-based compensation, mostly offset by restructuring charges, higher stock-based compensation, and higher general operating expenses.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A detail of the changes is as follows (in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:24.778%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended April 1, 2023 compared to Three Months Ended March 26, 2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee compensation</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,385)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">General operating expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">843&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restructuring charges</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">826&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">552&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(164)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Selling, general and administrative included stock-based compensation expense as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,008&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,456&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Interest Income (Expense), Net</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest income is earned on our cash, cash equivalents, restricted cash and marketable securities. The increase in interest income for the three months ended April&#160;1, 2023 compared with the corresponding period of the prior year was attributable to an increase in investment yields due to the higher interest rate environment. </span></div><div style="text-align:justify;text-indent:18pt"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest expense primarily includes interest on our term loan, interest rate swap derivative contracts, and term loan issuance costs amortization charges. The interest expense for the three months ended April&#160;1, 2023 compared to the same period of the prior year decreased due to lower outstanding debt.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Income, Net </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other income, net, primarily includes the effects of foreign currency impact and various other gains and losses. We partially mitigate our risks from currency movements by hedging certain balance sheet exposures, which minimizes the impacts during periods of foreign exchange volatility.</span></div><div style="text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Provision for Income Taxes </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:72.438%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.620%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In&#160;thousands,&#160;except&#160;percentages)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Provision for income taxes</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">48&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,450&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effective tax rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Provision for income taxes reflects the tax provision on our operations in foreign and U.S. jurisdictions, offset by tax benefits from tax credits and the foreign-derived intangible income (&#8220;FDII&#8221;) deduction. Our effective tax rate may vary from period to period based on changes in estimated taxable income or loss by jurisdiction, changes to the valuation allowance, changes to U.S. federal, state or foreign tax laws, changes in ASC 718 stock-based compensation expense/benefit, future expansion into areas with varying country, state, and local income tax rates, and deductibility of certain costs and expenses by jurisdiction. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have utilized our previous net operating loss carryforwards allowing us to benefit more from the available FDII deduction, which, combined with higher research and development tax credits, results in a lower worldwide effective tax rate for the three months ended April&#160;1, 2023 when compared to the corresponding period in the prior year.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The Creating Helpful Incentives to Produce Semiconductors and Science Act of 2022 (&#8220;CHIPS Act&#8221;) was signed into law on August 9, 2022. The CHIPS Act provides for various incentives and tax credits among other items including the Advanced Manufacturing Investment Credit (&#8220;AMIC&#8221;) which equals 25% of qualified investments in an advanced manufacturing facility that is placed in service after December 31, 2022. At least a portion of our future capital expenditures and research and development costs will qualify for this credit, which benefits us by allowing us to net the credit received against our costs. The AMIC credit is accounted for outside of ASC 740 as a reduction to the depreciable basis of the assets used in operations and will not have an impact on our effective tax rate.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">Beginning in 2022, the U.S. Tax Cuts and Jobs Act of 2017 (&#8220;TCJA&#8221;) eliminated the existing option to deduct research and development expenditures and requires taxpayers to amortize such expenditures attributable to domestic and foreign research over five and fifteen years, respectively, pursuant to IRC Section 174. While the capitalization requirement has a negative impact on our cash flows, there are offsetting benefits from the enactment of this provision that we have included in our estimated annual effective tax rate. While it is possible that Congress may defer, modify, or repeal this provision, potentially with retroactive effect, we have no assurance that this provision will be deferred, modified, or repealed. Changes in our tax provisions or an increase in our tax liabilities, whether due to changes in applicable laws and regulations, the interpretation or application thereof, or a final determination of tax audits or litigation or agreements, could have a material adverse effect on our financial position, results of operations and/or cash flows.</span></div><div style="text-align:justify"><span><br/></span></div><div><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_100"></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Liquidity and Capital Resources</span></div><div style="text-align:justify;text-indent:18pt"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Capital Resources</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our working capital was $352.8 million at April&#160;1, 2023, compared to $324.9 million at December&#160;31, 2022. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash and cash equivalents primarily consist of deposits held at banks, money market funds, and commercial paper. Marketable securities primarily consist of U.S. treasuries, U.S. agency securities, corporate bonds, and commercial paper. We typically invest in highly rated securities with low probabilities of default. Our investment policy requires investments to be rated single A or better, and limits the types of acceptable investments, issuer concentration and duration of the investment. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our cash, cash equivalents and marketable securities totaled approximately $236.3 million at April&#160;1, 2023, compared to $238.1 million at December&#160;31, 2022. Based on our historical results of operations, we expect that our cash, cash equivalents, and marketable securities on hand, and the cash we expect to generate from operations, will be sufficient to fund our short-term and long-term liquidity requirements primarily arising from: research and development, capital expenditures, working capital, outstanding commitments, and other liquidity requirements associated with existing operations. However, we cannot be certain that our cash, cash equivalents, and marketable securities on hand, and cash generated from operations, will be available in the future to fund all of our capital and operating requirements. In addition, any future strategic investments and significant acquisitions may require additional cash and capital resources. To the extent necessary, we may consider entering into short and long-term debt obligations, raising cash through a stock issuance, or obtaining new financing facilities, which may not be available on terms favorable to us. If we are unable to obtain sufficient cash or capital to meet our needs on a timely basis and on favorable terms, our business and operations could be materially and adversely affected.</span></div><div style="text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If we are unsuccessful in maintaining or growing our revenues, maintaining or reducing our cost structure, or increasing our available cash through debt or equity financings, our cash, cash equivalents and marketable securities may decline.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We utilize a variety of tax planning and financing strategies to manage our worldwide cash and deploy funds to locations where needed. As part of these strategies, we indefinitely reinvest a portion of our foreign earnings. Should we require additional capital in the United States, we may elect to repatriate indefinitely-reinvested foreign funds or raise capital in the United States.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Flows</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth our net cash flows from operating, investing and financing activities:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.022%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.329%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(In thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash provided by operating activities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,309&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,155&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash used in investing activities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(13,539)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(21,078)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net cash provided by (used) in financing activities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,378&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(6,016)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify;text-indent:18pt"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Operating Activities&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash provided by operating activities for the three months ended April&#160;1, 2023 was attributable to net income of $1.3 million and net non-cash expenses of $26.0 million, which includes depreciation, amortization, stock-based compensation, and the provision for excess and obsolete inventories, partially offset by an increase in net working capital of $15.1 million. The increase in net working capital related to an increase in accounts receivable of $15.9 million and decreases in accrued liabilities and deferred revenues of $10.2 million and $6.0 million, respectively, partially offset by an increase in deferred grant of $18.0 million. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Investing Activities</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash used in investing activities for the three months ended April&#160;1, 2023 primarily related to $19.7 million in property, plant and equipment purchases, partially offset by $6.2 million net cash received from the maturities and sales of marketable securities.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Financing Activities</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash provided by financing activities for the three months ended April&#160;1, 2023 primarily related to $5.0 million received from issuances of common stock under our employee stock purchase plan, partially offset by $0.3 million principal payments made towards the repayment of our term loan and $0.4 million related to tax withholdings associated with the net share settlements of our equity awards.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Debt </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Building Term Loan</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 22, 2020, we entered into an $18.0&#160;million 15-year credit facility loan agreement (the &#8220;Building Term Loan&#8221;). The proceeds of the Building Term Loan were used to finance the purchase of a building adjacent to our leased facilities in Livermore, California. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Building Term Loan bears interest at a rate equal to the applicable LIBOR rate plus 1.75% per annum. Interest payments are payable in monthly installments over a fifteen-year period. The interest rate at April&#160;1, 2023 was 4.66%. As of April&#160;1, 2023, the balance outstanding pursuant to the Building Term Loan was $15.2 million.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 17, 2020, we entered into a forward starting interest rate swap agreement to hedge the interest payments on the Building Term Loan for the notional amount of $18.0&#160;million, and an amortization period that matches the debt. As future levels of LIBOR over the life of the loan are uncertain, we entered into this interest-rate swap agreement to hedge the exposure in interest rate risks associated with movement in LIBOR rates. By entering into the agreement, we converted a floating interest rate of one-month LIBOR plus 1.75% into a fixed interest rate of 2.75%. As of April&#160;1, 2023, the notional amount of the loan that is subject to this interest rate swap is $15.2 million. </span></div><div style="text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock Repurchase Programs</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 26, 2020, our Board of Directors authorized a two-year program to repurchase up to $50&#160;million of outstanding common stock to offset potential dilution from issuances of common stock under our stock-based compensation programs. During the three months ended March&#160;26, 2022, we repurchased 240,548 shares of common stock for $9.4&#160;million. We utilized the remaining funds available for repurchase under this program during fiscal 2022. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 20, 2022, our Board of Directors authorized an additional program to repurchase up to $75&#160;million of outstanding common stock, also with the primary purpose to offset potential dilution from issuances of common stock under our stock-based compensation programs. The share repurchase program will expire on May 20, 2024. During the three months ended April&#160;1, 2023, we did not repurchase any shares of common stock. As of April&#160;1, 2023, $18.6 million remained available for future repurchases.</span></div><div style="text-align:justify"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_103"></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Contractual Obligations and Commitments</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes our significant contractual commitments to make future payments in cash under contractual obligations as of April&#160;1, 2023:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:18.052%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.578%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="39" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Payments Due In Fiscal Year</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Remainder<br/>&#160;2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2026</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2027</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Thereafter</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating leases</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,190&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,106&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,018&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,641&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,756&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,431&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,142&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Term loans - principal payments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">791&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,080&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,111&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,142&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,175&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,940&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,239&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Term loans - interest payments </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">729&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">912&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">834&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">763&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">688&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,538&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,464&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,710&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,098&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,963&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,546&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,619&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,909&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">59,845&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Represents our minimum interest payment commitments at 4.66% per annum for the Building Term Loan. This excludes any amounts related to our interest rate swap.</span></div><div style="text-align:justify"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_106"></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Off-Balance Sheet Arrangements</span></div><div style="text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Historically, we have not participated in transactions that have generated relationships with unconsolidated entities or financial partnerships, such as entities often referred to as structured finance or special purpose entities, which would have been established for the purpose of facilitating off-balance sheet arrangements or other contractually narrow or limited purposes. As of April&#160;1, 2023, we were not involved in any such off-balance sheet arrangements.</span></div><div style="text-align:justify"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_109"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent Accounting Standards</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For a description of a recent change in accounting standards, including the expected dates of adoption and estimated effects, if any, in our condensed consolidated financial statements, see Note 1, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Basis of Presentation and Significant Accounting Policies, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">in Part I, Item 1 of this Form 10-Q.</span></div><div><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_112"></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 3. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Quantitative and Qualitative Disclosures about Market Risk</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For financial market risks related to changes in interest rates and foreign currency exchange rates, reference is made to Item 7A &#8220;Quantitative and Qualitative Disclosures about Market Risk&#8221; contained in Part&#160;II of our Annual Report on Form&#160;10-K for the fiscal year ended December&#160;31, 2022. Our exposure to market risk has not changed materially since December&#160;31, 2022. </span></div><div style="text-align:justify"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_115"></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 4. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Controls and Procedures</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Evaluation of Disclosure Controls and Procedures</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on our management&#8217;s evaluation (with the participation of our principal executive officer and principal financial officer), as of the end of the period covered by this report, our principal executive officer and principal financial officer have concluded that our disclosure controls and procedures (as defined in Rules&#160;13a-15(e)&#160;and 15d-15(e)&#160;under the Securities Exchange Act of 1934, as amended, (the &#8220;Exchange Act&#8221;)) are effective to ensure that information required to be disclosed by us in reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Securities and Exchange Commission rules&#160;and forms and is accumulated and communicated to our management, including our principal executive officer and principal financial officer, as appropriate to allow timely decisions regarding required disclosure.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Changes in Internal Control over Financial Reporting</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no changes in our internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) that occurred during the period covered by this Quarterly Report on Form 10-Q that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Limitations on the Effectiveness of Controls</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Control systems, no matter how well designed and operated, can provide only reasonable, not absolute, assurance that the control systems&#8217; objectives are being met. Further, the design of any control systems must reflect the fact that there are resource constraints, and the benefits of all controls must be considered relative to their costs. Because of the inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues and instances of fraud, if any, within our company have been detected. These inherent limitations include the realities that judgments in decision making can be faulty and that breakdowns can occur because of a simple error or mistake. Control systems can also be circumvented by the individual acts of some persons, by collusion of two or more people, or by management override of the controls. The design of any system of controls is based, in part, on certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated goals under all potential future conditions. Over time, controls may become inadequate because of changes in conditions or deterioration in the degree of compliance with policies or procedures.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CEO and CFO Certifications</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have attached as exhibits to this Quarterly Report on Form&#160;10-Q the certifications of our Chief Executive Officer and Chief Financial Officer, which are required in accordance with the Exchange Act. We recommend that this Item 4 be read in conjunction with the certifications for a more complete understanding of the subject matter presented.&#160;</span></div><div style="text-align:justify"><span><br/></span></div><div id="ia6fb55369a22456888fa85eea58ff384_118"></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART&#160;II - OTHER INFORMATION</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div id="ia6fb55369a22456888fa85eea58ff384_121"></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 1A. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Risk Factors</span></div><div style="text-align:justify;text-indent:18pt"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no material changes during the three months ended April&#160;1, 2023 to the risk factors discussed in our Annual Report on Form&#160;10-K for the year ended December&#160;31, 2022. If any of the identified risks actually occur, our business, financial condition and results of operations could suffer. The trading price of our common stock could decline and you may lose all or part of your investment in our common stock. The risks and uncertainties described in our Annual Report on Form&#160;10-K for the year ended December&#160;31, 2022 are not the only ones we face. Additional risks that we currently do not know about or that we currently believe to be immaterial may also impair our business operations.</span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28</span></div></div></div><div id="ia6fb55369a22456888fa85eea58ff384_127"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="-sec-extract:summary"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Item 6. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Exhibits </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following exhibits are filed herewith and this list constitutes the exhibit index.</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:8.856%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:50.290%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.684%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.416%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.952%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.542%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Exhibit</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Incorporated&#160;by&#160;Reference</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Filed</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Exhibit&#160;Description</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Form</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Date</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Herewith</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31.01</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="formq123exh3101.htm">Certification of Chief Executive Officer pursuant to 15 U.S.C. Section&#160;7241, as adopted pursuant to Section&#160;302 of the Sarbanes-Oxley Act of 2002</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31.02</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="formq123exh3102.htm">Certification of Chief Financial Officer pursuant to 15 U.S.C. Section&#160;7241, as adopted pursuant to Section&#160;302 of the Sarbanes-Oxley Act of 2002</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32.01</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="formq123exh3201.htm">Certification of Chief Executive Officer and Chief Financial Officer pursuant to 18 U.S.C. Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002</a></span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">The following financial statements from the Company&#8217;s Quarterly Report on Form 10-Q for the quarter ended April&#160;1, 2023, formatted in Inline XBRL: (i) Condensed Consolidated Balance Sheets, (ii) Condensed Consolidated Statements of Income, (iii) Condensed Consolidated Statements of Comprehensive Income, (iv) Condensed Consolidated Statements of Stockholders&#8217; Equity, (v) Condensed Consolidated Statements of Cash Flows, and (vi) Notes to Condensed Consolidated Financial Statements, tagged as blocks of text and including detailed tags</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.INS</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Instance Document</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.SCH</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Schema Document</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.CAL</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Calculation Linkbase Document</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.DEF</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Definition Linkbase Document</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.LAB</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Label Linkbase Document</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.PRE</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">XBRL Taxonomy Extension Presentation Linkbase Document</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">104</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">The cover page from the Company&#8217;s Quarterly Report on Form 10-Q for the quarter ended April&#160;1, 2023, formatted in Inline XBRL (included as Exhibit 101)</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">X</span></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;______________________________________</span></div><div style="padding-left:9pt;text-align:justify;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*&#160;&#160;&#160;&#160;This exhibit shall not be deemed &#8220;filed&#8221; for purposes of Section&#160;18 of the Securities Exchange Act of 1934 or otherwise subject to the liabilities of that section, nor shall it be deemed incorporated by reference in any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934, whether made before or after the date hereof and irrespective of any general incorporation language in any filings.</span></div><div style="padding-left:9pt;text-align:justify;text-indent:-9pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29</span></div></div></div><div id="ia6fb55369a22456888fa85eea58ff384_130"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SIGNATURE</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:79.239%"><tr><td style="width:1.0%"></td><td style="width:16.058%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:21.040%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.988%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:53.514%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">FormFactor,&#160;Inc.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 9, 2023</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ SHAI SHAHAR</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shai Shahar</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Financial Officer</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-style:italic;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-style:italic;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(Duly Authorized Officer, Principal Financial Officer, and Principal Accounting Officer)</span></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.01
<SEQUENCE>2
<FILENAME>formq123exh3101.htm
<DESCRIPTION>EX-31.01
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="iecb773816c5e4d80b2c7706f9eb7a962_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 31.01</font></div><div style="text-align:right"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION OF CHIEF EXECUTIVE OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURSUANT TO 15 U.S.C. SECTION&#160;7241, AS</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ADOPTED PURSUANT TO SECTION&#160;302 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div><font><br></font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Michael D. Slessor, certify that&#58;</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">I have reviewed the quarterly report on Form&#160;10-Q of FormFactor,&#160;Inc.&#59;</font></div><div style="padding-left:18pt;text-indent:-18pt"><font><br></font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">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&#59;</font></div><div style="padding-left:18pt;text-indent:-18pt"><font><br></font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">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&#59;</font></div><div style="padding-left:18pt;text-indent:-18pt"><font><br></font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&#160;13a-15(e)&#160;and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&#160;13a-15(f)&#160;and 15d-15(f)) for the registrant and have&#58;</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">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&#59;</font></div><div style="padding-left:36pt"><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">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&#59;</font></div><div style="padding-left:36pt"><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">c.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">Evaluated the effectiveness of the registrant&#8217;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&#59; and</font></div><div style="padding-left:36pt"><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">d.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Disclosed in the quarterly report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting.</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.&#160;&#160;&#160;&#160;The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58;</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">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&#8217;s ability to record, process, summarize and report financial information&#59; and</font></div><div style="padding-left:36pt"><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:84.064%"><tr><td style="width:1.0%"></td><td style="width:7.073%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:26.726%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:62.901%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 9, 2023</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; MICHAEL D. SLESSOR</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:1pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Michael D.&#160;Slessor</font></div><div style="margin-bottom:1pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Chief Executive Officer</font></div><div style="margin-bottom:1pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(Principal Executive Officer and Director)</font></div></td></tr></table></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.02
<SEQUENCE>3
<FILENAME>formq123exh3102.htm
<DESCRIPTION>EX-31.02
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i3bad9b508a194b5e8f18c2b75ce5cc89_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 31.02</font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION OF CHIEF FINANCIAL OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURSUANT TO 15 U.S.C. SECTION&#160;7241,</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">AS ADOPTED PURSUANT TO SECTION&#160;302 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="text-align:right"><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Shai Shahar, certify that&#58;</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">I have reviewed the quarterly report on Form&#160;10-Q of FormFactor,&#160;Inc.&#59;</font></div><div><font><br></font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">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&#59;</font></div><div><font><br></font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">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&#59;</font></div><div><font><br></font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&#160;13a-15(e)&#160;and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&#160;13a-15(f)&#160;and 15d-15(f)) for the registrant and have&#58;</font></div><div style="padding-left:18pt"><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">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&#59;</font></div><div><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">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&#59;</font></div><div style="padding-left:36pt"><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">c.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">Evaluated the effectiveness of the registrant&#8217;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&#59; and</font></div><div style="padding-left:36pt"><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">d.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Disclosed in the quarterly report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting.</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div style="padding-left:18pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.&#160;&#160;&#160;&#160;The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58;</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:11.07pt">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&#8217;s ability to record, process, summarize and report financial information&#59; and</font></div><div style="padding-left:36pt"><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:84.064%"><tr><td style="width:1.0%"></td><td style="width:7.073%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:26.726%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:62.901%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 9, 2023</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; SHAI SHAHAR</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:1pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shai Shahar</font></div><div style="margin-bottom:1pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Chief Financial Officer</font></div><div style="margin-bottom:1pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(Principal Financial Officer and Principal Accounting Officer)</font></div></td></tr></table></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.01
<SEQUENCE>4
<FILENAME>formq123exh3201.htm
<DESCRIPTION>EX-32.01
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i36fc00e3fcd145f0968e7c33e389b410_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibit 32.01</font></div><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION OF</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURSUANT TO 18 U.S.C. SECTION&#160;1350,</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">AS ADOPTED PURSUANT TO SECTION&#160;906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the Quarterly Report on Form&#160;10-Q of FormFactor,&#160;Inc., a Delaware corporation, for the period ended April&#160;1, 2023, as filed with the Securities and Exchange Commission, each of the undersigned officers of FormFactor,&#160;Inc. certifies pursuant to 18 U.S.C. Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, that, to his respective knowledge&#58;</font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The quarterly report fully complies with the requirements of Section&#160;13(a)&#160;or 15(d)&#160;of the Securities Exchange Act of 1934, as amended&#59; and</font></div><div style="padding-left:36pt"><font><br></font></div><div style="padding-left:36pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">The information contained in the quarterly report fairly presents, in all material respects, the financial condition and results of operations of FormFactor,&#160;Inc. for the periods presented therein.</font></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:84.064%"><tr><td style="width:1.0%"></td><td style="width:7.073%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:26.726%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:62.901%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 9, 2023</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; MICHAEL D. SLESSOR</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:1pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Michael D.&#160;Slessor</font></div><div style="margin-bottom:1pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Chief Executive Officer</font></div><div style="margin-bottom:1pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(Principal Executive Officer and Director)</font></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 9, 2023</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; SHAI SHAHAR</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:1pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shai Shahar</font></div><div style="margin-bottom:1pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Chief Financial Officer</font></div><div style="margin-bottom:1pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(Principal Financial Officer and Principal Accounting Officer)</font></div></td></tr></table></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>5
<FILENAME>form-20230401.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:c6ad957d-a97c-46e4-887a-1031f6c22890,g:30d24d1d-fc82-4e4c-8008-7009469476df-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:form="http://www.formfactor.com/20230401" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.formfactor.com/20230401">
  <xs:import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd"/>
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <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://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/country/2022" schemaLocation="https://xbrl.sec.gov/country/2022/country-2022.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/currency/2022" schemaLocation="https://xbrl.sec.gov/currency/2022/currency-2022.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="form-20230401_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="form-20230401_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="form-20230401_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="form-20230401_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="CoverPage" roleURI="http://www.formfactor.com/role/CoverPage">
        <link:definition>0000001 - Document - Cover Page</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONDENSEDCONSOLIDATEDBALANCESHEETS" roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS">
        <link:definition>0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical">
        <link:definition>0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME">
        <link:definition>0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME">
        <link:definition>0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY">
        <link:definition>0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS">
        <link:definition>0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSignificantAccountingPolicies" roleURI="http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies">
        <link:definition>0000008 - Disclosure - Basis of Presentation and Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConcentrationofCreditandOtherRisks" roleURI="http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks">
        <link:definition>0000009 - Disclosure - Concentration of Credit and Other Risks</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Inventoriesnet" roleURI="http://www.formfactor.com/role/Inventoriesnet">
        <link:definition>0000010 - Disclosure - Inventories, net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandIntangibleAssets" roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssets">
        <link:definition>0000011 - Disclosure - Goodwill and Intangible Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedLiabilities" roleURI="http://www.formfactor.com/role/AccruedLiabilities">
        <link:definition>0000012 - Disclosure - Accrued Liabilities</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RestructuringCharges" roleURI="http://www.formfactor.com/role/RestructuringCharges">
        <link:definition>0000013 - Disclosure - Restructuring Charges</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueandDerivativeInstruments" roleURI="http://www.formfactor.com/role/FairValueandDerivativeInstruments">
        <link:definition>0000014 - Disclosure - Fair Value and Derivative Instruments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Warranty" roleURI="http://www.formfactor.com/role/Warranty">
        <link:definition>0000015 - Disclosure - Warranty</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyPlantandEquipmentnet" roleURI="http://www.formfactor.com/role/PropertyPlantandEquipmentnet">
        <link:definition>0000016 - Disclosure - Property, Plant, and Equipment, net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockBasedCompensation" roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation">
        <link:definition>0000017 - Disclosure - Stockholders&#8217; Equity and Stock-Based Compensation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetIncomeperShare" roleURI="http://www.formfactor.com/role/NetIncomeperShare">
        <link:definition>0000018 - Disclosure - Net Income per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingencies" roleURI="http://www.formfactor.com/role/CommitmentsandContingencies">
        <link:definition>0000019 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Leases" roleURI="http://www.formfactor.com/role/Leases">
        <link:definition>0000020 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Revenue" roleURI="http://www.formfactor.com/role/Revenue">
        <link:definition>0000021 - Disclosure - Revenue</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OperatingSegmentsandEnterpriseWideInformation" roleURI="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation">
        <link:definition>0000022 - Disclosure - Operating Segments and Enterprise-Wide Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSignificantAccountingPoliciesPolicies" roleURI="http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies">
        <link:definition>0000023 - Disclosure - Basis of Presentation and Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConcentrationofCreditandOtherRisksTables" roleURI="http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables">
        <link:definition>0000024 - Disclosure - Concentration of Credit and Other Risks (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesnetTables" roleURI="http://www.formfactor.com/role/InventoriesnetTables">
        <link:definition>0000025 - Disclosure - Inventories, net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandIntangibleAssetsTables" roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables">
        <link:definition>0000026 - Disclosure - Goodwill and Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedLiabilitiesTables" roleURI="http://www.formfactor.com/role/AccruedLiabilitiesTables">
        <link:definition>0000027 - Disclosure - Accrued Liabilities (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RestructuringChargesTables" roleURI="http://www.formfactor.com/role/RestructuringChargesTables">
        <link:definition>0000028 - Disclosure - Restructuring Charges (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueandDerivativeInstrumentsTables" roleURI="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables">
        <link:definition>0000029 - Disclosure - Fair Value and Derivative Instruments (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WarrantyTables" roleURI="http://www.formfactor.com/role/WarrantyTables">
        <link:definition>0000030 - Disclosure - Warranty (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyPlantandEquipmentnetTables" roleURI="http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables">
        <link:definition>0000031 - Disclosure - Property, Plant, and Equipment, net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockBasedCompensationTables" roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables">
        <link:definition>0000032 - Disclosure - Stockholders&#8217; Equity and Stock-Based Compensation (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetIncomeperShareTables" roleURI="http://www.formfactor.com/role/NetIncomeperShareTables">
        <link:definition>0000033 - Disclosure - Net Income per Share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesTables" roleURI="http://www.formfactor.com/role/LeasesTables">
        <link:definition>0000034 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OperatingSegmentsandEnterpriseWideInformationTables" roleURI="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables">
        <link:definition>0000035 - Disclosure - Operating Segments and Enterprise-Wide Information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSignificantAccountingPoliciesDetails" roleURI="http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails">
        <link:definition>0000036 - Disclosure - Basis of Presentation and Significant Accounting Policies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConcentrationofCreditandOtherRisksDetails" roleURI="http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails">
        <link:definition>0000037 - Disclosure - Concentration of Credit and Other Risks (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesnetDetails" roleURI="http://www.formfactor.com/role/InventoriesnetDetails">
        <link:definition>0000038 - Disclosure - Inventories, net (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandIntangibleAssetsGoodwillDetails" roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails">
        <link:definition>0000039 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandIntangibleAssetsAdditionalinformationDetails" roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsAdditionalinformationDetails">
        <link:definition>0000040 - Disclosure - Goodwill and Intangible Assets - Additional information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandIntangibleAssetsIntangibleAssetsDetails" roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails">
        <link:definition>0000041 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandIntangibleAssetsAmortizationExpenseDetails" roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails">
        <link:definition>0000042 - Disclosure - Goodwill and Intangible Assets - Amortization Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedLiabilitiesDetails" roleURI="http://www.formfactor.com/role/AccruedLiabilitiesDetails">
        <link:definition>0000043 - Disclosure - Accrued Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RestructuringChargesNarrativeDetails" roleURI="http://www.formfactor.com/role/RestructuringChargesNarrativeDetails">
        <link:definition>0000044 - Disclosure - Restructuring Charges - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RestructuringChargesRestructuringChargesDetails" roleURI="http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails">
        <link:definition>0000045 - Disclosure - Restructuring Charges - Restructuring Charges (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RestructuringChargesChangestotheRestructuringAccrualDetails" roleURI="http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails">
        <link:definition>0000046 - Disclosure - Restructuring Charges - Changes to the Restructuring Accrual (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" roleURI="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails">
        <link:definition>0000047 - Disclosure - Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" roleURI="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails">
        <link:definition>0000048 - Disclosure - Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueandDerivativeInstrumentsAdditionalInformationDetails" roleURI="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails">
        <link:definition>0000049 - Disclosure - Fair Value and Derivative Instruments - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WarrantyDetails" roleURI="http://www.formfactor.com/role/WarrantyDetails">
        <link:definition>0000050 - Disclosure - Warranty (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyPlantandEquipmentnetDetails" roleURI="http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails">
        <link:definition>0000051 - Disclosure - Property, Plant, and Equipment, net (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails">
        <link:definition>0000052 - Disclosure - Stockholders&#8217; Equity and Stock-Based Compensation - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails">
        <link:definition>0000053 - Disclosure - Stockholders&#8217; Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockBasedCompensationESPPActivityDetails" roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails">
        <link:definition>0000054 - Disclosure - Stockholders&#8217; Equity and Stock-Based Compensation - ESPP Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails">
        <link:definition>0000055 - Disclosure - Stockholders&#8217; Equity and Stock-Based Compensation - Stock-Based Compensation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails">
        <link:definition>0000056 - Disclosure - Stockholders&#8217; Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NetIncomeperShareDetails" roleURI="http://www.formfactor.com/role/NetIncomeperShareDetails">
        <link:definition>0000057 - Disclosure - Net Income per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesNarrativeDetails" roleURI="http://www.formfactor.com/role/LeasesNarrativeDetails">
        <link:definition>0000058 - Disclosure - Leases - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesComponentsofLeaseExpenseDetails" roleURI="http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails">
        <link:definition>0000059 - Disclosure - Leases - Components of Lease Expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" roleURI="http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails">
        <link:definition>0000060 - Disclosure - Leases - Schedule of Future Minimum Payments Under Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1" roleURI="http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1">
        <link:definition>0000060 - Disclosure - Leases - Schedule of Future Minimum Payments Under Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueAdditionalInformationDetails" roleURI="http://www.formfactor.com/role/RevenueAdditionalInformationDetails">
        <link:definition>0000061 - Disclosure - Revenue - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueAdditionalInformationDetails_1" roleURI="http://www.formfactor.com/role/RevenueAdditionalInformationDetails_1">
        <link:definition>0000061 - Disclosure - Revenue - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OperatingSegmentsandEnterpriseWideInformationAdditionalInformationDetails" roleURI="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationAdditionalInformationDetails">
        <link:definition>0000062 - Disclosure - Operating Segments and Enterprise-Wide Information - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" roleURI="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails">
        <link:definition>0000063 - Disclosure - Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" roleURI="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails">
        <link:definition>0000064 - Disclosure - Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:element id="form_DeferredGovernmentGrantLiabilityTerm" abstract="false" name="DeferredGovernmentGrantLiabilityTerm" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="form_IncreaseDecreaseInDeferredGovernmentGrant" abstract="false" name="IncreaseDecreaseInDeferredGovernmentGrant" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="form_ProbeCardsSegmentMember" abstract="true" name="ProbeCardsSegmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_PerformanceRestrictedStockUnitsMember" abstract="true" name="PerformanceRestrictedStockUnitsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_InventoryImpairmentsMember" abstract="true" name="InventoryImpairmentsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal" abstract="false" name="FiniteLivedIntangibleAssetsAmortizationExpenseTotal" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="form_TwoMajorCustomersMember" abstract="true" name="TwoMajorCustomersMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress" abstract="false" name="PropertyPlantAndEquipmentNetExcludesConstructionInProgress" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="form_October2020StockRepurchaseProgramMember" abstract="true" name="October2020StockRepurchaseProgramMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_CustomersRepresenting10OrMoreOfTotalRevenuesMember" abstract="true" name="CustomersRepresenting10OrMoreOfTotalRevenuesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_A2022RestructuringPlanMember" abstract="true" name="A2022RestructuringPlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_ExistingDevelopedTechnologiesMember" abstract="true" name="ExistingDevelopedTechnologiesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_DRAMProductGroupMember" abstract="true" name="DRAMProductGroupMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_May2022StockRepurchaseProgramMember" abstract="true" name="May2022StockRepurchaseProgramMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_TaiwanSemiconductorManufacturingCoLTDMember" abstract="true" name="TaiwanSemiconductorManufacturingCoLTDMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_RestOfTheWorldMember" abstract="true" name="RestOfTheWorldMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_ChangeInCapitalExpendituresIncurredButNotYetPaid" abstract="false" name="ChangeInCapitalExpendituresIncurredButNotYetPaid" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="form_A2021RestructuringPlanMember" abstract="true" name="A2021RestructuringPlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" abstract="false" name="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="form_DeferredGovernmentGrantLiability" abstract="false" name="DeferredGovernmentGrantLiability" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="form_SystemsProductGroupMember" abstract="true" name="SystemsProductGroupMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_GrossMarginPercent" abstract="false" name="GrossMarginPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="form_FoundryLogicProductGroupMember" abstract="true" name="FoundryLogicProductGroupMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_EquityIncentivePlanMember" abstract="true" name="EquityIncentivePlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_FlashProductGroupMember" abstract="true" name="FlashProductGroupMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_WoburnMember" abstract="true" name="WoburnMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_MajorCustomer2Member" abstract="true" name="MajorCustomer2Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_MajorCustomer1Member" abstract="true" name="MajorCustomer1Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_SystemsSegmentMember" abstract="true" name="SystemsSegmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_StockBasedCompensationMember" abstract="true" name="StockBasedCompensationMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_IntelMember" abstract="true" name="IntelMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" abstract="false" name="LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock" abstract="false" name="WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>6
<FILENAME>form-20230401_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:c6ad957d-a97c-46e4-887a-1031f6c22890,g:30d24d1d-fc82-4e4c-8008-7009469476df-->
<link:linkbase xmlns:link="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">
  <link:roleRef roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="simple" xlink:href="form-20230401.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETS"/>
  <link:calculationLink xlink:role="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_cc49dd64-451b-479a-8562-50fe642e327f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_fb8b0b35-ba83-48b5-9898-1c694f950a94" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_cc49dd64-451b-479a-8562-50fe642e327f" xlink:to="loc_us-gaap_AccountsPayableCurrent_fb8b0b35-ba83-48b5-9898-1c694f950a94" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_06f48ecb-2409-4d34-8438-fee5887a27ac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_cc49dd64-451b-479a-8562-50fe642e327f" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_06f48ecb-2409-4d34-8438-fee5887a27ac" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueCurrent_50a65d07-caca-429d-bf4e-42f7bbbf9bd2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenueCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_cc49dd64-451b-479a-8562-50fe642e327f" xlink:to="loc_us-gaap_DeferredRevenueCurrent_50a65d07-caca-429d-bf4e-42f7bbbf9bd2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_e3238638-0cd3-4bbc-a92f-778497660152" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_cc49dd64-451b-479a-8562-50fe642e327f" xlink:to="loc_us-gaap_LongTermDebtCurrent_e3238638-0cd3-4bbc-a92f-778497660152" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_962e51a2-d971-4d50-a462-6c836eb9fc1b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_cc49dd64-451b-479a-8562-50fe642e327f" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_962e51a2-d971-4d50-a462-6c836eb9fc1b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_91da0e0a-a4d7-491b-b31f-6edb8bac8e91" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_09aae0b5-4997-4c30-9d45-bc1fbe7bce6f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_91da0e0a-a4d7-491b-b31f-6edb8bac8e91" xlink:to="loc_us-gaap_AssetsCurrent_09aae0b5-4997-4c30-9d45-bc1fbe7bce6f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_3f32ec38-7c89-4194-ac87-21ea11c27588" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_91da0e0a-a4d7-491b-b31f-6edb8bac8e91" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_3f32ec38-7c89-4194-ac87-21ea11c27588" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_69a85c91-72ad-46ce-a580-aec5e226c64b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_91da0e0a-a4d7-491b-b31f-6edb8bac8e91" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_69a85c91-72ad-46ce-a580-aec5e226c64b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_24554564-0e94-49e2-8212-b69c6aee0915" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_91da0e0a-a4d7-491b-b31f-6edb8bac8e91" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_24554564-0e94-49e2-8212-b69c6aee0915" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_237df3ce-69f4-4f0d-9ded-73b85599d666" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_91da0e0a-a4d7-491b-b31f-6edb8bac8e91" xlink:to="loc_us-gaap_Goodwill_237df3ce-69f4-4f0d-9ded-73b85599d666" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_0ba35344-be42-4224-9614-ff384779f564" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_91da0e0a-a4d7-491b-b31f-6edb8bac8e91" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_0ba35344-be42-4224-9614-ff384779f564" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_67a9523e-4c43-4c57-8707-791843c70c18" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_91da0e0a-a4d7-491b-b31f-6edb8bac8e91" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_67a9523e-4c43-4c57-8707-791843c70c18" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_d04413de-2bd2-49ad-8828-21e4bad4c99c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_91da0e0a-a4d7-491b-b31f-6edb8bac8e91" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_d04413de-2bd2-49ad-8828-21e4bad4c99c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_92c5f038-95c5-4e93-83bc-8a7794c0f216" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_fe1955cb-d27d-4911-8e1b-bc5155edac8b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_92c5f038-95c5-4e93-83bc-8a7794c0f216" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_fe1955cb-d27d-4911-8e1b-bc5155edac8b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_a74f63b8-dcf3-4d41-bccb-a068430810f3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_92c5f038-95c5-4e93-83bc-8a7794c0f216" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_a74f63b8-dcf3-4d41-bccb-a068430810f3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_920bee01-5d12-46ad-a0a6-22ddbbcbf761" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_92c5f038-95c5-4e93-83bc-8a7794c0f216" xlink:to="loc_us-gaap_InventoryNet_920bee01-5d12-46ad-a0a6-22ddbbcbf761" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1a3f5060-3cd4-4af5-83ba-04838f833aff" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_92c5f038-95c5-4e93-83bc-8a7794c0f216" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_1a3f5060-3cd4-4af5-83ba-04838f833aff" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_1b072b72-e963-43f8-b5f3-535d26fa3f70" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_92c5f038-95c5-4e93-83bc-8a7794c0f216" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_1b072b72-e963-43f8-b5f3-535d26fa3f70" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesCurrent_ef6dbc50-5d23-4b6d-a414-506fe3636ea2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MarketableSecuritiesCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_92c5f038-95c5-4e93-83bc-8a7794c0f216" xlink:to="loc_us-gaap_MarketableSecuritiesCurrent_ef6dbc50-5d23-4b6d-a414-506fe3636ea2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_5180083b-fff9-4205-a715-e2c43be8c1f1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_9d70fa93-96a5-4760-829f-d55fe74666a6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_5180083b-fff9-4205-a715-e2c43be8c1f1" xlink:to="loc_us-gaap_LiabilitiesCurrent_9d70fa93-96a5-4760-829f-d55fe74666a6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_DeferredGovernmentGrantLiability_21f76bfc-a899-4b95-bdde-f1e925f9d02a" xlink:href="form-20230401.xsd#form_DeferredGovernmentGrantLiability"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_5180083b-fff9-4205-a715-e2c43be8c1f1" xlink:to="loc_form_DeferredGovernmentGrantLiability_21f76bfc-a899-4b95-bdde-f1e925f9d02a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_85e60212-b39a-44f7-a8cf-e27e7e2af81d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_5180083b-fff9-4205-a715-e2c43be8c1f1" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_85e60212-b39a-44f7-a8cf-e27e7e2af81d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_436c2fab-50e6-40ce-b823-dd8ab72fb11e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_5180083b-fff9-4205-a715-e2c43be8c1f1" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_436c2fab-50e6-40ce-b823-dd8ab72fb11e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_1f4be58f-320d-4641-a0c7-16ac3b203b0d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_5180083b-fff9-4205-a715-e2c43be8c1f1" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_1f4be58f-320d-4641-a0c7-16ac3b203b0d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent_82c2c7f4-6ca0-479e-a396-9d64e37a6dd9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_5180083b-fff9-4205-a715-e2c43be8c1f1" xlink:to="loc_us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent_82c2c7f4-6ca0-479e-a396-9d64e37a6dd9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_f801923a-36c5-41ca-8150-bc6b54ccc799" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_c208937b-c2e5-4861-bfd7-ebf57ef35123" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_f801923a-36c5-41ca-8150-bc6b54ccc799" xlink:to="loc_us-gaap_CommonStockValue_c208937b-c2e5-4861-bfd7-ebf57ef35123" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_ccd2ee8e-ab6c-40c7-bbba-104f311543a5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_f801923a-36c5-41ca-8150-bc6b54ccc799" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_ccd2ee8e-ab6c-40c7-bbba-104f311543a5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_f1374969-3d56-4c44-a0b0-0831dff8586b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_f801923a-36c5-41ca-8150-bc6b54ccc799" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_f1374969-3d56-4c44-a0b0-0831dff8586b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_fb69e680-babd-4d83-8f49-c08088f9b85d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_f801923a-36c5-41ca-8150-bc6b54ccc799" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_fb69e680-babd-4d83-8f49-c08088f9b85d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_ed9429ae-570c-42ad-9be0-d7bf29283c72" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_0d9b7a2e-5f0a-4364-873c-f6688f321660" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_ed9429ae-570c-42ad-9be0-d7bf29283c72" xlink:to="loc_us-gaap_Liabilities_0d9b7a2e-5f0a-4364-873c-f6688f321660" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_a710aac2-3c75-444b-8ab4-605f47ce2ab6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_ed9429ae-570c-42ad-9be0-d7bf29283c72" xlink:to="loc_us-gaap_StockholdersEquity_a710aac2-3c75-444b-8ab4-605f47ce2ab6" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" xlink:type="simple" xlink:href="form-20230401.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"/>
  <link:calculationLink xlink:role="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_6aad2966-2565-47d9-a74f-a7bcd6488627" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_2fff1035-7cd5-4b85-a1dc-7e86b8368992" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_6aad2966-2565-47d9-a74f-a7bcd6488627" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_2fff1035-7cd5-4b85-a1dc-7e86b8368992" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_c66a85cd-5d42-482c-940b-154d3d21398b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_6aad2966-2565-47d9-a74f-a7bcd6488627" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_c66a85cd-5d42-482c-940b-154d3d21398b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_3fe70584-d298-415e-b5a1-d89120468fee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_b3cb1a26-6edf-48ee-9088-bde1d39ffd3c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_3fe70584-d298-415e-b5a1-d89120468fee" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_b3cb1a26-6edf-48ee-9088-bde1d39ffd3c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_4df64bc8-6de9-44d7-9765-1a993d8b0293" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_3fe70584-d298-415e-b5a1-d89120468fee" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_4df64bc8-6de9-44d7-9765-1a993d8b0293" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_b98e8ce4-2f72-425f-a496-df1598176377" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_498e998d-368c-471e-b405-f56b0a801a26" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_b98e8ce4-2f72-425f-a496-df1598176377" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_498e998d-368c-471e-b405-f56b0a801a26" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_bb5b99c6-be94-4e04-ae91-818f483046f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_b98e8ce4-2f72-425f-a496-df1598176377" xlink:to="loc_us-gaap_OperatingIncomeLoss_bb5b99c6-be94-4e04-ae91-818f483046f4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_bba1e1e6-78e4-4abc-8b6a-6fe24905a156" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_b98e8ce4-2f72-425f-a496-df1598176377" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_bba1e1e6-78e4-4abc-8b6a-6fe24905a156" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_9ee2ab35-da59-45d9-8abf-911a39f68487" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_8484f4b2-1624-4d43-afc4-76a1eca401ae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_9ee2ab35-da59-45d9-8abf-911a39f68487" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_8484f4b2-1624-4d43-afc4-76a1eca401ae" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_0a5f0ffd-ff4c-4670-bc1e-b85fdfb5e356" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_9ee2ab35-da59-45d9-8abf-911a39f68487" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_0a5f0ffd-ff4c-4670-bc1e-b85fdfb5e356" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_71c61968-e5fc-43b6-93fc-2847a735277f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_cefe052d-a87e-4ce4-87dc-ea7ac4ffa0b0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_71c61968-e5fc-43b6-93fc-2847a735277f" xlink:to="loc_us-gaap_GrossProfit_cefe052d-a87e-4ce4-87dc-ea7ac4ffa0b0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_d9b9c17e-4a8b-4fd0-8e60-6995f9b5bc47" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_71c61968-e5fc-43b6-93fc-2847a735277f" xlink:to="loc_us-gaap_OperatingExpenses_d9b9c17e-4a8b-4fd0-8e60-6995f9b5bc47" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" xlink:type="simple" xlink:href="form-20230401.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"/>
  <link:calculationLink xlink:role="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_909505fd-c8be-462e-b7b8-7b6184e5a06f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_565873a9-fb96-473c-b82b-6eddd0de862f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_909505fd-c8be-462e-b7b8-7b6184e5a06f" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_565873a9-fb96-473c-b82b-6eddd0de862f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_386da83c-c811-4339-8e69-4b19374ef7c3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_909505fd-c8be-462e-b7b8-7b6184e5a06f" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_386da83c-c811-4339-8e69-4b19374ef7c3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_80fcd39b-3c6a-4bb7-8cfa-9f17c8b56bb8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_909505fd-c8be-462e-b7b8-7b6184e5a06f" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_80fcd39b-3c6a-4bb7-8cfa-9f17c8b56bb8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_2588e6b5-4b3b-4c8b-92e8-4a1ce711106a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_21f70abf-de43-47c1-9132-0b65a27fd2e3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_2588e6b5-4b3b-4c8b-92e8-4a1ce711106a" xlink:to="loc_us-gaap_NetIncomeLoss_21f70abf-de43-47c1-9132-0b65a27fd2e3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_3676d151-3cab-411f-9e33-378114b455bc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_2588e6b5-4b3b-4c8b-92e8-4a1ce711106a" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_3676d151-3cab-411f-9e33-378114b455bc" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="simple" xlink:href="form-20230401.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"/>
  <link:calculationLink xlink:role="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_6dd6d89b-9c8a-4d63-9241-2297815ee840" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b725a92e-a8fb-4fdc-9f79-a711978fab03" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_6dd6d89b-9c8a-4d63-9241-2297815ee840" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b725a92e-a8fb-4fdc-9f79-a711978fab03" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_2dd8a2c8-5456-4ed2-b2df-9b8bfe49467f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_6dd6d89b-9c8a-4d63-9241-2297815ee840" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_2dd8a2c8-5456-4ed2-b2df-9b8bfe49467f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_d232fa6e-5972-4433-b50a-d8836f30f775" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_6dd6d89b-9c8a-4d63-9241-2297815ee840" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_d232fa6e-5972-4433-b50a-d8836f30f775" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_d54dae23-9460-4ddf-a16a-fc9148ae02b7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_6dd6d89b-9c8a-4d63-9241-2297815ee840" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_d54dae23-9460-4ddf-a16a-fc9148ae02b7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_47ce03f4-4078-4697-9207-39ae48ff493f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_3d6907ee-e4b8-4af3-88ae-458619d11fb9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_47ce03f4-4078-4697-9207-39ae48ff493f" xlink:to="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_3d6907ee-e4b8-4af3-88ae-458619d11fb9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireMarketableSecurities_31760b5d-7688-4505-bab3-0039e68b33dc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireMarketableSecurities"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_47ce03f4-4078-4697-9207-39ae48ff493f" xlink:to="loc_us-gaap_PaymentsToAcquireMarketableSecurities_31760b5d-7688-4505-bab3-0039e68b33dc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_3a9fc4b2-86e1-4db3-9c41-0bf4cf7ec848" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_47ce03f4-4078-4697-9207-39ae48ff493f" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_3a9fc4b2-86e1-4db3-9c41-0bf4cf7ec848" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_f70c3e64-1fdf-4197-b042-78cd5e780adf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashCurrent_9cb62e09-a205-4987-a642-119e6434e9f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_f70c3e64-1fdf-4197-b042-78cd5e780adf" xlink:to="loc_us-gaap_RestrictedCashCurrent_9cb62e09-a205-4987-a642-119e6434e9f9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashNoncurrent_2c97bb76-3280-46ca-b543-685c6bd1ad03" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_f70c3e64-1fdf-4197-b042-78cd5e780adf" xlink:to="loc_us-gaap_RestrictedCashNoncurrent_2c97bb76-3280-46ca-b543-685c6bd1ad03" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_0e48d80f-f95e-450d-8e74-4bfe62db41d2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_f70c3e64-1fdf-4197-b042-78cd5e780adf" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_0e48d80f-f95e-450d-8e74-4bfe62db41d2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_ba5c1c85-82ee-4973-a35a-7358c4d5e4dd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_977c5272-b407-4265-b1cb-2f75d1fa5e17" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_ba5c1c85-82ee-4973-a35a-7358c4d5e4dd" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_977c5272-b407-4265-b1cb-2f75d1fa5e17" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_43d2fef4-d292-43e7-92ec-24f5b686af30" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_ba5c1c85-82ee-4973-a35a-7358c4d5e4dd" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_43d2fef4-d292-43e7-92ec-24f5b686af30" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_6be26913-13eb-4a04-baa8-79e700642b70" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_ba5c1c85-82ee-4973-a35a-7358c4d5e4dd" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_6be26913-13eb-4a04-baa8-79e700642b70" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt_6688f8fc-bccf-491d-9a1c-95642d12d8da" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_ba5c1c85-82ee-4973-a35a-7358c4d5e4dd" xlink:to="loc_us-gaap_RepaymentsOfLongTermDebt_6688f8fc-bccf-491d-9a1c-95642d12d8da" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_a5f2a3e8-2062-48bc-a114-f7df744123cc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_a5f2a3e8-2062-48bc-a114-f7df744123cc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_9ffa9473-52ab-4316-812a-f9d11a60a8cd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_ShareBasedCompensation_9ffa9473-52ab-4316-812a-f9d11a60a8cd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSoldAmortization_614b3abd-cf29-43da-95e5-51365065ee91" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSoldAmortization"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSoldAmortization_614b3abd-cf29-43da-95e5-51365065ee91" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingLeaseLiability_4f798603-f73d-4679-9a7f-d830669b70ad" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingLeaseLiability_4f798603-f73d-4679-9a7f-d830669b70ad" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement_bea69974-ffba-4ce5-9850-54418125dc26" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement_bea69974-ffba-4ce5-9850-54418125dc26" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWriteDown_08e72d63-c9c0-4f3b-a2d9-90d0634ef1a6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_InventoryWriteDown_08e72d63-c9c0-4f3b-a2d9-90d0634ef1a6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_ef75603d-9e96-46e8-8cb9-2be0a2b4c519" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:calculationArc order="7" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_ef75603d-9e96-46e8-8cb9-2be0a2b4c519" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_051284b2-d1c3-437c-a06e-fb65320c99a6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_NetIncomeLoss_051284b2-d1c3-437c-a06e-fb65320c99a6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_3e7cc8cc-1587-4d47-928e-19aa9b4e9ee3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_Depreciation_3e7cc8cc-1587-4d47-928e-19aa9b4e9ee3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_0f23057d-2e78-455f-a71e-b0aab309f636" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense"/>
    <link:calculationArc order="10" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_0f23057d-2e78-455f-a71e-b0aab309f636" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_27fdadb1-49ab-4a08-80a1-98d645613600" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_27fdadb1-49ab-4a08-80a1-98d645613600" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_65ad9c97-880c-4daf-b500-a0c9edaf41ac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:calculationArc order="12" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_65ad9c97-880c-4daf-b500-a0c9edaf41ac" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_357ad773-5bb0-4d6b-9c14-8ca4efd6807a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:calculationArc order="13" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_357ad773-5bb0-4d6b-9c14-8ca4efd6807a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_3ca01608-7c4c-41af-a5d9-965f0a6e9fe5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="14" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_3ca01608-7c4c-41af-a5d9-965f0a6e9fe5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherDeferredLiability_07f4f1af-e84a-4681-b9b8-de81489ba4e2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherDeferredLiability"/>
    <link:calculationArc order="15" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherDeferredLiability_07f4f1af-e84a-4681-b9b8-de81489ba4e2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_70d8f93a-c9f0-4000-a5d6-3f491f532a1f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:calculationArc order="16" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_70d8f93a-c9f0-4000-a5d6-3f491f532a1f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_IncreaseDecreaseInDeferredGovernmentGrant_9d37e450-d05c-4912-b6cb-ad9b1657013e" xlink:href="form-20230401.xsd#form_IncreaseDecreaseInDeferredGovernmentGrant"/>
    <link:calculationArc order="17" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_328bac6a-9a37-4dac-866c-7b14958ade2e" xlink:to="loc_form_IncreaseDecreaseInDeferredGovernmentGrant_9d37e450-d05c-4912-b6cb-ad9b1657013e" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/InventoriesnetDetails" xlink:type="simple" xlink:href="form-20230401.xsd#InventoriesnetDetails"/>
  <link:calculationLink xlink:role="http://www.formfactor.com/role/InventoriesnetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_dbf43699-a11d-4146-9eb9-705999561aa0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_7866d3fd-1686-46dc-b043-3cc8078b392a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_dbf43699-a11d-4146-9eb9-705999561aa0" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_7866d3fd-1686-46dc-b043-3cc8078b392a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_014226c2-81ac-489e-b145-e7c4e60a1e8c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_dbf43699-a11d-4146-9eb9-705999561aa0" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_014226c2-81ac-489e-b145-e7c4e60a1e8c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_63ffd06d-cb3f-4c2e-aa30-7ce07bcd7545" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_dbf43699-a11d-4146-9eb9-705999561aa0" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_63ffd06d-cb3f-4c2e-aa30-7ce07bcd7545" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" xlink:type="simple" xlink:href="form-20230401.xsd#GoodwillandIntangibleAssetsIntangibleAssetsDetails"/>
  <link:calculationLink xlink:role="http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c528dff9-6780-4d7c-83f0-c9a6b4ecba05" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_5d93b8bc-4ab6-4289-be94-adadd27b694f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c528dff9-6780-4d7c-83f0-c9a6b4ecba05" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_5d93b8bc-4ab6-4289-be94-adadd27b694f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_55c23683-2d8d-4294-9138-5502d37d00e2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_c528dff9-6780-4d7c-83f0-c9a6b4ecba05" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_55c23683-2d8d-4294-9138-5502d37d00e2" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" xlink:type="simple" xlink:href="form-20230401.xsd#GoodwillandIntangibleAssetsAmortizationExpenseDetails"/>
  <link:calculationLink xlink:role="http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal_720e024e-d228-480e-99eb-91bf4f6c6f75" xlink:href="form-20230401.xsd#form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_c0dd35a4-80ea-4846-82a4-fa4d34081454" xlink:href="form-20230401.xsd#form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal_720e024e-d228-480e-99eb-91bf4f6c6f75" xlink:to="loc_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_c0dd35a4-80ea-4846-82a4-fa4d34081454" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_adc9fbf1-ed92-472b-80a6-ef468fea7abb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal_720e024e-d228-480e-99eb-91bf4f6c6f75" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_adc9fbf1-ed92-472b-80a6-ef468fea7abb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_faae440a-2098-4621-a759-d562d9d00a76" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal_720e024e-d228-480e-99eb-91bf4f6c6f75" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_faae440a-2098-4621-a759-d562d9d00a76" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_3f96c520-7fee-43e8-8f38-e50c4ce75f13" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal_720e024e-d228-480e-99eb-91bf4f6c6f75" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_3f96c520-7fee-43e8-8f38-e50c4ce75f13" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_091b0d00-9275-45d8-8bde-27fa54ba84a4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal_720e024e-d228-480e-99eb-91bf4f6c6f75" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_091b0d00-9275-45d8-8bde-27fa54ba84a4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_130f297d-92fe-4423-b9fb-91ef1fdc82f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal_720e024e-d228-480e-99eb-91bf4f6c6f75" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_130f297d-92fe-4423-b9fb-91ef1fdc82f4" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/AccruedLiabilitiesDetails" xlink:type="simple" xlink:href="form-20230401.xsd#AccruedLiabilitiesDetails"/>
  <link:calculationLink xlink:role="http://www.formfactor.com/role/AccruedLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_97336c26-d5b4-41a4-8208-557dc3426573" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedEmployeeBenefitsCurrent_e3e3740b-cb0b-4c57-b34b-c83b31f306ad" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_97336c26-d5b4-41a4-8208-557dc3426573" xlink:to="loc_us-gaap_AccruedEmployeeBenefitsCurrent_e3e3740b-cb0b-4c57-b34b-c83b31f306ad" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_01e2a02f-d1ba-4170-af5f-dac4dcc6cf2f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_97336c26-d5b4-41a4-8208-557dc3426573" xlink:to="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_01e2a02f-d1ba-4170-af5f-dac4dcc6cf2f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_9701aced-f79f-49fd-b460-39a11690c0d1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_97336c26-d5b4-41a4-8208-557dc3426573" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_9701aced-f79f-49fd-b460-39a11690c0d1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_6ca28231-b56c-4f64-97b8-13aea8934225" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_97336c26-d5b4-41a4-8208-557dc3426573" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_6ca28231-b56c-4f64-97b8-13aea8934225" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrentAndNoncurrent_ce908050-f325-4f6e-9d24-b1f3bf56942d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxesPayableCurrentAndNoncurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_97336c26-d5b4-41a4-8208-557dc3426573" xlink:to="loc_us-gaap_TaxesPayableCurrentAndNoncurrent_ce908050-f325-4f6e-9d24-b1f3bf56942d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_eb4c37f6-efe7-465c-a85f-c14bb8ba53e3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringReserve"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_97336c26-d5b4-41a4-8208-557dc3426573" xlink:to="loc_us-gaap_RestructuringReserve_eb4c37f6-efe7-465c-a85f-c14bb8ba53e3" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" xlink:type="simple" xlink:href="form-20230401.xsd#FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"/>
  <link:calculationLink xlink:role="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosure_60ef067f-6e39-4069-b654-c1691f197896" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesFairValueDisclosure"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLiabilities_0a72235e-2bfc-4e73-b503-91e7cc36d16e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosure_60ef067f-6e39-4069-b654-c1691f197896" xlink:to="loc_us-gaap_DerivativeLiabilities_0a72235e-2bfc-4e73-b503-91e7cc36d16e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_d554360a-1ead-4d2f-8f56-1b6753cd1110" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_0a0dd373-e02d-4c38-b751-ad49d9f1250b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsFairValueDisclosure_d554360a-1ead-4d2f-8f56-1b6753cd1110" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_0a0dd373-e02d-4c38-b751-ad49d9f1250b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecurities_1e89f535-a8c9-4ffb-bd03-752ca6fa562e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MarketableSecurities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsFairValueDisclosure_d554360a-1ead-4d2f-8f56-1b6753cd1110" xlink:to="loc_us-gaap_MarketableSecurities_1e89f535-a8c9-4ffb-bd03-752ca6fa562e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets_801d30e6-f07e-4ee6-abaf-4b50083d1a64" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssets"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsFairValueDisclosure_d554360a-1ead-4d2f-8f56-1b6753cd1110" xlink:to="loc_us-gaap_DerivativeAssets_801d30e6-f07e-4ee6-abaf-4b50083d1a64" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" xlink:type="simple" xlink:href="form-20230401.xsd#PropertyPlantandEquipmentnetDetails"/>
  <link:calculationLink xlink:role="http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_5de44572-25e2-4ada-a75c-25073d02f017" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress_f27d5b61-5b59-4e7a-a923-f92d37c5ab5d" xlink:href="form-20230401.xsd#form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_5de44572-25e2-4ada-a75c-25073d02f017" xlink:to="loc_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress_f27d5b61-5b59-4e7a-a923-f92d37c5ab5d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConstructionInProgressGross_a16766ed-e4aa-4e32-88f3-771a77763b80" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_5de44572-25e2-4ada-a75c-25073d02f017" xlink:to="loc_us-gaap_ConstructionInProgressGross_a16766ed-e4aa-4e32-88f3-771a77763b80" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress_d1c6450d-57c7-4f0b-87e6-02f73ff31acf" xlink:href="form-20230401.xsd#form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_6b300247-a0fc-4602-8e09-ff7d64745ead" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress_d1c6450d-57c7-4f0b-87e6-02f73ff31acf" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_6b300247-a0fc-4602-8e09-ff7d64745ead" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_d0e833ee-638a-4ec7-9bed-453d8366bc8a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress_d1c6450d-57c7-4f0b-87e6-02f73ff31acf" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_d0e833ee-638a-4ec7-9bed-453d8366bc8a" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/NetIncomeperShareDetails" xlink:type="simple" xlink:href="form-20230401.xsd#NetIncomeperShareDetails"/>
  <link:calculationLink xlink:role="http://www.formfactor.com/role/NetIncomeperShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_6b3ab0d5-43a8-476f-ac7b-41390f26a26c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_7da4825f-0816-423c-b556-6cf55ff1805c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_6b3ab0d5-43a8-476f-ac7b-41390f26a26c" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_7da4825f-0816-423c-b556-6cf55ff1805c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_889a55c8-5a4d-45c1-b046-139d58120b9b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_6b3ab0d5-43a8-476f-ac7b-41390f26a26c" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_889a55c8-5a4d-45c1-b046-139d58120b9b" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails" xlink:type="simple" xlink:href="form-20230401.xsd#LeasesComponentsofLeaseExpenseDetails"/>
  <link:calculationLink xlink:role="http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_f3d891cc-232b-4f98-887b-509da67ecd57" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseExpense_7bfd82f6-21a8-48d0-8465-92d57500338b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseExpense"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_f3d891cc-232b-4f98-887b-509da67ecd57" xlink:to="loc_us-gaap_OperatingLeaseExpense_7bfd82f6-21a8-48d0-8465-92d57500338b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermLeaseCost_218d8fe5-bac6-4f35-81d2-c475a2d0dbe3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_f3d891cc-232b-4f98-887b-509da67ecd57" xlink:to="loc_us-gaap_ShortTermLeaseCost_218d8fe5-bac6-4f35-81d2-c475a2d0dbe3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost_26bb2d58-1201-4100-82a8-5acb0f08bb2b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableLeaseCost"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_f3d891cc-232b-4f98-887b-509da67ecd57" xlink:to="loc_us-gaap_VariableLeaseCost_26bb2d58-1201-4100-82a8-5acb0f08bb2b" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" xlink:type="simple" xlink:href="form-20230401.xsd#LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails"/>
  <link:calculationLink xlink:role="http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_f2ea88f4-35c0-412c-aaed-ad416d49768e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_a310cd5b-c992-48ac-bfc7-5f33ac986507" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_f2ea88f4-35c0-412c-aaed-ad416d49768e" xlink:to="loc_us-gaap_OperatingLeaseLiability_a310cd5b-c992-48ac-bfc7-5f33ac986507" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_a9733fc3-f843-4bf2-8671-d95b1729c185" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_f2ea88f4-35c0-412c-aaed-ad416d49768e" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_a9733fc3-f843-4bf2-8671-d95b1729c185" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_2a1b7bda-5554-45c7-9874-c0b530189185" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_a11f081a-c28a-4b0d-8c9a-aaa5c1bfc413" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_2a1b7bda-5554-45c7-9874-c0b530189185" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_a11f081a-c28a-4b0d-8c9a-aaa5c1bfc413" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_56a3d704-1549-4788-bdb9-0a0593c61f76" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_2a1b7bda-5554-45c7-9874-c0b530189185" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_56a3d704-1549-4788-bdb9-0a0593c61f76" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1" xlink:type="simple" xlink:href="form-20230401.xsd#LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1"/>
  <link:calculationLink xlink:role="http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0d071e98-1343-4906-a3d6-b8a24828801c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_7e30d23b-1b3a-4ec1-9bae-3ea68b78413e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0d071e98-1343-4906-a3d6-b8a24828801c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_7e30d23b-1b3a-4ec1-9bae-3ea68b78413e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_a1762362-475a-436a-a62f-7173f7ba4fd7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0d071e98-1343-4906-a3d6-b8a24828801c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_a1762362-475a-436a-a62f-7173f7ba4fd7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_36ade4b0-dc40-4704-aa1f-7243025982c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0d071e98-1343-4906-a3d6-b8a24828801c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_36ade4b0-dc40-4704-aa1f-7243025982c0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_f7a0b8fa-961c-4c2d-9e4e-2de2c4c111dc" xlink:href="form-20230401.xsd#form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0d071e98-1343-4906-a3d6-b8a24828801c" xlink:to="loc_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_f7a0b8fa-961c-4c2d-9e4e-2de2c4c111dc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_fbdabe41-2f09-4358-9c6a-17f224a25ba5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0d071e98-1343-4906-a3d6-b8a24828801c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_fbdabe41-2f09-4358-9c6a-17f224a25ba5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_e19ef830-e0b4-48c7-8ea3-d6b866d6c554" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_0d071e98-1343-4906-a3d6-b8a24828801c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_e19ef830-e0b4-48c7-8ea3-d6b866d6c554" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>form-20230401_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:c6ad957d-a97c-46e4-887a-1031f6c22890,g:30d24d1d-fc82-4e4c-8008-7009469476df-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
  <link:roleRef roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="simple" xlink:href="form-20230401.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="extended" id="ia58017a98f2a4377912609dc49e1dee9_CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_f79d0cb4-7607-4b24-a35f-28cac5f5ee12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_f79d0cb4-7607-4b24-a35f-28cac5f5ee12" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_986b334a-a499-495c-b440-aec705e1aaf2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_986b334a-a499-495c-b440-aec705e1aaf2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_6b85a336-3a70-4f50-89e9-56a9b30b7381" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockholdersEquity_6b85a336-3a70-4f50-89e9-56a9b30b7381" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_81e6a3eb-342b-4c91-aaa0-6194fbcbe7ed" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_81e6a3eb-342b-4c91-aaa0-6194fbcbe7ed" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_116bb543-d49f-49c9-b71e-64c468815837" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_116bb543-d49f-49c9-b71e-64c468815837" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross_383d75d0-f5f5-40d0-9cc2-8c3f59fbb457" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross_383d75d0-f5f5-40d0-9cc2-8c3f59fbb457" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_2850b930-a773-4512-875c-23ce0cb60772" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_2850b930-a773-4512-875c-23ce0cb60772" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_0cfd859c-ab5a-4040-a9e9-acad06c50542" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_0cfd859c-ab5a-4040-a9e9-acad06c50542" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_fbcffd4b-011f-4952-9dd9-e59a05d668a9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_fbcffd4b-011f-4952-9dd9-e59a05d668a9" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_2fd2306f-679c-4478-ab13-8fd81ee15694" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_2fd2306f-679c-4478-ab13-8fd81ee15694" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_760e1d20-d5ac-4b6e-b037-12d1ba43d885" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_760e1d20-d5ac-4b6e-b037-12d1ba43d885" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_02c6572c-94fc-45d1-8293-44e1aa622cb6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_02c6572c-94fc-45d1-8293-44e1aa622cb6" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_59d56a35-6ebc-4010-bb95-9797c4bd4128" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_59d56a35-6ebc-4010-bb95-9797c4bd4128" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_a05bf7b7-d0d0-4127-bd27-c00dbaf3fa91" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_NetIncomeLoss_a05bf7b7-d0d0-4127-bd27-c00dbaf3fa91" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_1d7d7e44-896c-433b-b67b-cffbe8690f22" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_0a316031-282e-4c7d-b1b4-6b7c6204724c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_b8184133-1a8b-48d0-9778-3df73986bcb5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_f79d0cb4-7607-4b24-a35f-28cac5f5ee12" xlink:to="loc_us-gaap_StatementTable_b8184133-1a8b-48d0-9778-3df73986bcb5" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_968abdf3-c54f-46f5-b19e-7b7019cc647d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_b8184133-1a8b-48d0-9778-3df73986bcb5" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_968abdf3-c54f-46f5-b19e-7b7019cc647d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_968abdf3-c54f-46f5-b19e-7b7019cc647d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_968abdf3-c54f-46f5-b19e-7b7019cc647d" xlink:to="loc_us-gaap_EquityComponentDomain_968abdf3-c54f-46f5-b19e-7b7019cc647d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_b0ca5ae9-0d85-4f5b-9f52-737dd71849e6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_968abdf3-c54f-46f5-b19e-7b7019cc647d" xlink:to="loc_us-gaap_EquityComponentDomain_b0ca5ae9-0d85-4f5b-9f52-737dd71849e6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_71fbbc25-323b-46b6-a611-8f56b08ad484" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_b0ca5ae9-0d85-4f5b-9f52-737dd71849e6" xlink:to="loc_us-gaap_CommonStockMember_71fbbc25-323b-46b6-a611-8f56b08ad484" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_eedba67c-570d-4f20-bcd4-1613420b9906" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_b0ca5ae9-0d85-4f5b-9f52-737dd71849e6" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_eedba67c-570d-4f20-bcd4-1613420b9906" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_403ac324-75cf-43a1-a2f2-21ac7ac1da7a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_b0ca5ae9-0d85-4f5b-9f52-737dd71849e6" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_403ac324-75cf-43a1-a2f2-21ac7ac1da7a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_9c0170d5-c80d-4fed-a329-607836838f12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_b0ca5ae9-0d85-4f5b-9f52-737dd71849e6" xlink:to="loc_us-gaap_RetainedEarningsMember_9c0170d5-c80d-4fed-a329-607836838f12" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" xlink:type="simple" xlink:href="form-20230401.xsd#ConcentrationofCreditandOtherRisksDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" xlink:type="extended" id="i0d76364c13d44812a248570061e05a80_ConcentrationofCreditandOtherRisksDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_33416b0b-f278-456f-857e-0a5ed4999196" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_6090bff6-ef9d-4a31-b606-7e9037b13714" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_33416b0b-f278-456f-857e-0a5ed4999196" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_6090bff6-ef9d-4a31-b606-7e9037b13714" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable_7c431bbf-0054-49bc-b1ec-733b439052dd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_33416b0b-f278-456f-857e-0a5ed4999196" xlink:to="loc_us-gaap_ConcentrationRiskTable_7c431bbf-0054-49bc-b1ec-733b439052dd" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_e3426a4e-3f3d-4905-a99b-f49d4874448a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_7c431bbf-0054-49bc-b1ec-733b439052dd" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_e3426a4e-3f3d-4905-a99b-f49d4874448a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_e3426a4e-3f3d-4905-a99b-f49d4874448a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_e3426a4e-3f3d-4905-a99b-f49d4874448a" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_e3426a4e-3f3d-4905-a99b-f49d4874448a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_b9c15c56-fed5-4e43-9a5c-98f4f76cdfbb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_e3426a4e-3f3d-4905-a99b-f49d4874448a" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_b9c15c56-fed5-4e43-9a5c-98f4f76cdfbb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_22f91e32-599d-4f7c-8472-f9731c0bc9a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_b9c15c56-fed5-4e43-9a5c-98f4f76cdfbb" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_22f91e32-599d-4f7c-8472-f9731c0bc9a8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_148f46af-4d93-4fd5-885a-039286a9f2bb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_7c431bbf-0054-49bc-b1ec-733b439052dd" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_148f46af-4d93-4fd5-885a-039286a9f2bb" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_148f46af-4d93-4fd5-885a-039286a9f2bb_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_148f46af-4d93-4fd5-885a-039286a9f2bb" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_148f46af-4d93-4fd5-885a-039286a9f2bb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_238caf03-4b3c-40ea-8cad-49704997345d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_148f46af-4d93-4fd5-885a-039286a9f2bb" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_238caf03-4b3c-40ea-8cad-49704997345d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember_3e0d09e2-34bf-450c-8cce-ecf1ef94577f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_238caf03-4b3c-40ea-8cad-49704997345d" xlink:to="loc_us-gaap_SalesRevenueNetMember_3e0d09e2-34bf-450c-8cce-ecf1ef94577f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerMember_ef5b2ec5-f656-4d02-863d-86c2c4b7723f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_238caf03-4b3c-40ea-8cad-49704997345d" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerMember_ef5b2ec5-f656-4d02-863d-86c2c4b7723f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember_d6e4e6e9-e73b-4e04-9d92-ae27a9bb15c9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_238caf03-4b3c-40ea-8cad-49704997345d" xlink:to="loc_us-gaap_AccountsReceivableMember_d6e4e6e9-e73b-4e04-9d92-ae27a9bb15c9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_2ebd2819-ece5-437e-965b-e60ec217dde1" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_7c431bbf-0054-49bc-b1ec-733b439052dd" xlink:to="loc_srt_MajorCustomersAxis_2ebd2819-ece5-437e-965b-e60ec217dde1" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_2ebd2819-ece5-437e-965b-e60ec217dde1_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_MajorCustomersAxis_2ebd2819-ece5-437e-965b-e60ec217dde1" xlink:to="loc_srt_NameOfMajorCustomerDomain_2ebd2819-ece5-437e-965b-e60ec217dde1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_MajorCustomersAxis_2ebd2819-ece5-437e-965b-e60ec217dde1" xlink:to="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_TwoMajorCustomersMember_1debd7a6-bf71-4ea3-a730-f44ddc819a0d" xlink:href="form-20230401.xsd#form_TwoMajorCustomersMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:to="loc_form_TwoMajorCustomersMember_1debd7a6-bf71-4ea3-a730-f44ddc819a0d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_IntelMember_1f86eb2d-afbe-4261-8958-41a5ad58563e" xlink:href="form-20230401.xsd#form_IntelMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:to="loc_form_IntelMember_1f86eb2d-afbe-4261-8958-41a5ad58563e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_TaiwanSemiconductorManufacturingCoLTDMember_6a9fa1a1-d9b5-48d1-9223-e04a5f65b152" xlink:href="form-20230401.xsd#form_TaiwanSemiconductorManufacturingCoLTDMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:to="loc_form_TaiwanSemiconductorManufacturingCoLTDMember_6a9fa1a1-d9b5-48d1-9223-e04a5f65b152" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_CustomersRepresenting10OrMoreOfTotalRevenuesMember_da3007db-c02b-4b55-a1d4-306dcaba4fec" xlink:href="form-20230401.xsd#form_CustomersRepresenting10OrMoreOfTotalRevenuesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:to="loc_form_CustomersRepresenting10OrMoreOfTotalRevenuesMember_da3007db-c02b-4b55-a1d4-306dcaba4fec" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_MajorCustomer1Member_dd5034d8-6ec6-4d06-ba4a-11bedca15706" xlink:href="form-20230401.xsd#form_MajorCustomer1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:to="loc_form_MajorCustomer1Member_dd5034d8-6ec6-4d06-ba4a-11bedca15706" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_MajorCustomer2Member_227bdce6-3619-496c-a068-9d6bffea720b" xlink:href="form-20230401.xsd#form_MajorCustomer2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:to="loc_form_MajorCustomer2Member_227bdce6-3619-496c-a068-9d6bffea720b" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" xlink:type="simple" xlink:href="form-20230401.xsd#GoodwillandIntangibleAssetsGoodwillDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" xlink:type="extended" id="i97f450e89db14a4d8dec20343ffe04e2_GoodwillandIntangibleAssetsGoodwillDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems_6976c45e-4e63-40b2-abfd-1654afb80df9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_7690f274-af2c-475d-9f78-f2a8f953bee0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_6976c45e-4e63-40b2-abfd-1654afb80df9" xlink:to="loc_us-gaap_GoodwillRollForward_7690f274-af2c-475d-9f78-f2a8f953bee0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_fff5c4ce-7e08-4d91-a573-150199970d9d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_7690f274-af2c-475d-9f78-f2a8f953bee0" xlink:to="loc_us-gaap_Goodwill_fff5c4ce-7e08-4d91-a573-150199970d9d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_88416361-1c5b-4f2b-bb3d-18611c511da8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_7690f274-af2c-475d-9f78-f2a8f953bee0" xlink:to="loc_us-gaap_GoodwillAcquiredDuringPeriod_88416361-1c5b-4f2b-bb3d-18611c511da8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_9b1b4441-5809-4e03-ad90-c34a04eb2669" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_7690f274-af2c-475d-9f78-f2a8f953bee0" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_9b1b4441-5809-4e03-ad90-c34a04eb2669" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_ff4ba65a-c3c9-4a68-a644-cc72d3de7647" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_35f4ecb6-d63e-43b3-995b-285c0bbb0a7c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_GoodwillLineItems_6976c45e-4e63-40b2-abfd-1654afb80df9" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_35f4ecb6-d63e-43b3-995b-285c0bbb0a7c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_3f4713ce-a4a7-417b-8ca9-8ef23ec8c776" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_35f4ecb6-d63e-43b3-995b-285c0bbb0a7c" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_3f4713ce-a4a7-417b-8ca9-8ef23ec8c776" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_3f4713ce-a4a7-417b-8ca9-8ef23ec8c776_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_3f4713ce-a4a7-417b-8ca9-8ef23ec8c776" xlink:to="loc_us-gaap_SegmentDomain_3f4713ce-a4a7-417b-8ca9-8ef23ec8c776_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_d80c4d5f-06d6-47ea-b639-39ac3f5ca5fd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_3f4713ce-a4a7-417b-8ca9-8ef23ec8c776" xlink:to="loc_us-gaap_SegmentDomain_d80c4d5f-06d6-47ea-b639-39ac3f5ca5fd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_ProbeCardsSegmentMember_a7092d93-b0b8-4e95-a54a-18a069bf1223" xlink:href="form-20230401.xsd#form_ProbeCardsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_d80c4d5f-06d6-47ea-b639-39ac3f5ca5fd" xlink:to="loc_form_ProbeCardsSegmentMember_a7092d93-b0b8-4e95-a54a-18a069bf1223" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_SystemsSegmentMember_267ee820-d033-4c2a-8916-e46f96a8aeb8" xlink:href="form-20230401.xsd#form_SystemsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_d80c4d5f-06d6-47ea-b639-39ac3f5ca5fd" xlink:to="loc_form_SystemsSegmentMember_267ee820-d033-4c2a-8916-e46f96a8aeb8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_8eb32265-53c5-45f9-a126-721d4e82b73c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_35f4ecb6-d63e-43b3-995b-285c0bbb0a7c" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_8eb32265-53c5-45f9-a126-721d4e82b73c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_8eb32265-53c5-45f9-a126-721d4e82b73c_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_8eb32265-53c5-45f9-a126-721d4e82b73c" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_8eb32265-53c5-45f9-a126-721d4e82b73c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e7ceaad0-5550-410c-ac48-202de7b322ca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_8eb32265-53c5-45f9-a126-721d4e82b73c" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e7ceaad0-5550-410c-ac48-202de7b322ca" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_WoburnMember_c458818e-5822-440e-8402-57fae8f63abc" xlink:href="form-20230401.xsd#form_WoburnMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e7ceaad0-5550-410c-ac48-202de7b322ca" xlink:to="loc_form_WoburnMember_c458818e-5822-440e-8402-57fae8f63abc" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" xlink:type="simple" xlink:href="form-20230401.xsd#GoodwillandIntangibleAssetsIntangibleAssetsDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" xlink:type="extended" id="i7aedf3e050e04894a43bdae4e60b7265_GoodwillandIntangibleAssetsIntangibleAssetsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_5afce842-409a-44cc-adf9-a534036db820" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_27ea72f6-fc37-450c-a697-cae1f9533b7f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_5afce842-409a-44cc-adf9-a534036db820" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_27ea72f6-fc37-450c-a697-cae1f9533b7f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_71240694-4e3e-402b-9216-80fecbfd32a3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_5afce842-409a-44cc-adf9-a534036db820" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_71240694-4e3e-402b-9216-80fecbfd32a3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_75a24cfc-4e1f-4250-8b90-789102d812c6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_5afce842-409a-44cc-adf9-a534036db820" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_75a24cfc-4e1f-4250-8b90-789102d812c6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e8b1e4c9-9fc3-48d9-9015-b62bd739b724" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_5afce842-409a-44cc-adf9-a534036db820" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e8b1e4c9-9fc3-48d9-9015-b62bd739b724" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_501d8d75-c5c0-4425-aaa8-266786e30801" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e8b1e4c9-9fc3-48d9-9015-b62bd739b724" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_501d8d75-c5c0-4425-aaa8-266786e30801" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_501d8d75-c5c0-4425-aaa8-266786e30801_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_501d8d75-c5c0-4425-aaa8-266786e30801" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_501d8d75-c5c0-4425-aaa8-266786e30801_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fa5de666-0f66-459f-be1e-c630eb51943e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_501d8d75-c5c0-4425-aaa8-266786e30801" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fa5de666-0f66-459f-be1e-c630eb51943e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_ExistingDevelopedTechnologiesMember_3a55c8ec-7746-4169-aedb-a16187a3eb39" xlink:href="form-20230401.xsd#form_ExistingDevelopedTechnologiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fa5de666-0f66-459f-be1e-c630eb51943e" xlink:to="loc_form_ExistingDevelopedTechnologiesMember_3a55c8ec-7746-4169-aedb-a16187a3eb39" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_187569d6-ee6f-4a4d-b3d6-f7cc5ae9eb4a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fa5de666-0f66-459f-be1e-c630eb51943e" xlink:to="loc_us-gaap_CustomerRelationshipsMember_187569d6-ee6f-4a4d-b3d6-f7cc5ae9eb4a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeNamesMember_2176beef-ee14-4284-9aab-9f28063452ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fa5de666-0f66-459f-be1e-c630eb51943e" xlink:to="loc_us-gaap_TradeNamesMember_2176beef-ee14-4284-9aab-9f28063452ef" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InProcessResearchAndDevelopmentMember_7057fcf2-a816-43d5-a36c-063c3f3d762d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InProcessResearchAndDevelopmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fa5de666-0f66-459f-be1e-c630eb51943e" xlink:to="loc_us-gaap_InProcessResearchAndDevelopmentMember_7057fcf2-a816-43d5-a36c-063c3f3d762d" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" xlink:type="simple" xlink:href="form-20230401.xsd#GoodwillandIntangibleAssetsAmortizationExpenseDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" xlink:type="extended" id="i29b0fae572764b6caebd9643f49f0739_GoodwillandIntangibleAssetsAmortizationExpenseDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9602d808-91d8-40a4-9dfb-cc57f29b7f04" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_9df039db-afd3-463b-924b-0de4a3f0805f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9602d808-91d8-40a4-9dfb-cc57f29b7f04" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_9df039db-afd3-463b-924b-0de4a3f0805f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9602d808-91d8-40a4-9dfb-cc57f29b7f04" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_72c377cb-bc0c-49d6-b71f-d7935b610528" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_72c377cb-bc0c-49d6-b71f-d7935b610528" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_8c5de6b1-f9c2-4e42-bb03-70bd728253b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_8c5de6b1-f9c2-4e42-bb03-70bd728253b9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_e4ec9b4f-8640-4706-878f-222265f96545" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_e4ec9b4f-8640-4706-878f-222265f96545" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_d3cc5c22-361e-4570-8762-a882be4a93db" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_d3cc5c22-361e-4570-8762-a882be4a93db" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_239b9b56-a693-4706-a245-7053430cca0b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_239b9b56-a693-4706-a245-7053430cca0b" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_661c175c-bc95-478f-a520-010a7951c6c9" xlink:href="form-20230401.xsd#form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:to="loc_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_661c175c-bc95-478f-a520-010a7951c6c9" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal_c32e1174-c43d-47b3-b13a-872b997c915d" xlink:href="form-20230401.xsd#form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:to="loc_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal_c32e1174-c43d-47b3-b13a-872b997c915d" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_e4973139-fd94-46d0-99f0-32f97df2efd9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9602d808-91d8-40a4-9dfb-cc57f29b7f04" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_e4973139-fd94-46d0-99f0-32f97df2efd9" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_a3a5d0d3-931a-41fa-96f0-0fa3e89945c3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_e4973139-fd94-46d0-99f0-32f97df2efd9" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_a3a5d0d3-931a-41fa-96f0-0fa3e89945c3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_a3a5d0d3-931a-41fa-96f0-0fa3e89945c3_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_a3a5d0d3-931a-41fa-96f0-0fa3e89945c3" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_a3a5d0d3-931a-41fa-96f0-0fa3e89945c3_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_f9cfa8ba-1883-41a7-84c6-3c12547475ee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_a3a5d0d3-931a-41fa-96f0-0fa3e89945c3" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_f9cfa8ba-1883-41a7-84c6-3c12547475ee" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_9b364dda-bcd4-44b4-9f0a-d3925f8076a3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_f9cfa8ba-1883-41a7-84c6-3c12547475ee" xlink:to="loc_us-gaap_CostOfSalesMember_9b364dda-bcd4-44b4-9f0a-d3925f8076a3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_77b17f8d-e723-4ace-a7af-6c0530c010af" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_f9cfa8ba-1883-41a7-84c6-3c12547475ee" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_77b17f8d-e723-4ace-a7af-6c0530c010af" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" xlink:type="simple" xlink:href="form-20230401.xsd#RestructuringChargesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" xlink:type="extended" id="i8603a88b71a748859b60b8e393d8eb5c_RestructuringChargesNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_69d9d085-f761-45bc-9bbd-0212168ca35f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent_d5d38346-fc19-47e5-8501-4ab9ea761584" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_69d9d085-f761-45bc-9bbd-0212168ca35f" xlink:to="loc_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent_d5d38346-fc19-47e5-8501-4ab9ea761584" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_281d91cd-c337-4bab-b35d-435eb49bb758" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCharges"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_69d9d085-f761-45bc-9bbd-0212168ca35f" xlink:to="loc_us-gaap_RestructuringCharges_281d91cd-c337-4bab-b35d-435eb49bb758" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f7d42cf9-3caa-4638-aac2-7f9989360c21" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_69d9d085-f761-45bc-9bbd-0212168ca35f" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f7d42cf9-3caa-4638-aac2-7f9989360c21" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanAxis_72435f13-e827-4f4c-9297-3c0852a339a3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringPlanAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f7d42cf9-3caa-4638-aac2-7f9989360c21" xlink:to="loc_us-gaap_RestructuringPlanAxis_72435f13-e827-4f4c-9297-3c0852a339a3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanDomain_72435f13-e827-4f4c-9297-3c0852a339a3_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringPlanDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RestructuringPlanAxis_72435f13-e827-4f4c-9297-3c0852a339a3" xlink:to="loc_us-gaap_RestructuringPlanDomain_72435f13-e827-4f4c-9297-3c0852a339a3_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanDomain_75c9ba4f-197d-4274-b00d-7a619accb83a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringPlanDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RestructuringPlanAxis_72435f13-e827-4f4c-9297-3c0852a339a3" xlink:to="loc_us-gaap_RestructuringPlanDomain_75c9ba4f-197d-4274-b00d-7a619accb83a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_A2022RestructuringPlanMember_ddb9f20a-d8f9-4350-8464-4c9d7efa763b" xlink:href="form-20230401.xsd#form_A2022RestructuringPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringPlanDomain_75c9ba4f-197d-4274-b00d-7a619accb83a" xlink:to="loc_form_A2022RestructuringPlanMember_ddb9f20a-d8f9-4350-8464-4c9d7efa763b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_A2021RestructuringPlanMember_32f16ed0-2097-48a6-a7c2-2dc75b3d278a" xlink:href="form-20230401.xsd#form_A2021RestructuringPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringPlanDomain_75c9ba4f-197d-4274-b00d-7a619accb83a" xlink:to="loc_form_A2021RestructuringPlanMember_32f16ed0-2097-48a6-a7c2-2dc75b3d278a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_09de7583-5603-41f1-a17b-92bb0261a692" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f7d42cf9-3caa-4638-aac2-7f9989360c21" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_09de7583-5603-41f1-a17b-92bb0261a692" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_09de7583-5603-41f1-a17b-92bb0261a692_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_09de7583-5603-41f1-a17b-92bb0261a692" xlink:to="loc_us-gaap_SegmentDomain_09de7583-5603-41f1-a17b-92bb0261a692_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_b0bb1fa9-0130-4aa4-85f6-6c91adbfb1eb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_09de7583-5603-41f1-a17b-92bb0261a692" xlink:to="loc_us-gaap_SegmentDomain_b0bb1fa9-0130-4aa4-85f6-6c91adbfb1eb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_ProbeCardsSegmentMember_6b4c0d2d-9175-4d4d-a368-c1864f637ede" xlink:href="form-20230401.xsd#form_ProbeCardsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_b0bb1fa9-0130-4aa4-85f6-6c91adbfb1eb" xlink:to="loc_form_ProbeCardsSegmentMember_6b4c0d2d-9175-4d4d-a368-c1864f637ede" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_SystemsSegmentMember_435540f2-8331-4895-a600-04154dc7c06f" xlink:href="form-20230401.xsd#form_SystemsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_b0bb1fa9-0130-4aa4-85f6-6c91adbfb1eb" xlink:to="loc_form_SystemsSegmentMember_435540f2-8331-4895-a600-04154dc7c06f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_bd636b54-cdab-4f66-8280-c91273c1b315" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f7d42cf9-3caa-4638-aac2-7f9989360c21" xlink:to="loc_srt_ConsolidationItemsAxis_bd636b54-cdab-4f66-8280-c91273c1b315" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_bd636b54-cdab-4f66-8280-c91273c1b315_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_bd636b54-cdab-4f66-8280-c91273c1b315" xlink:to="loc_srt_ConsolidationItemsDomain_bd636b54-cdab-4f66-8280-c91273c1b315_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_af7689db-2069-420a-bd4a-d8d00bca62e9" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_bd636b54-cdab-4f66-8280-c91273c1b315" xlink:to="loc_srt_ConsolidationItemsDomain_af7689db-2069-420a-bd4a-d8d00bca62e9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_0b0bddb3-5973-4fae-9f11-bd299a43bcc9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_af7689db-2069-420a-bd4a-d8d00bca62e9" xlink:to="loc_us-gaap_CorporateNonSegmentMember_0b0bddb3-5973-4fae-9f11-bd299a43bcc9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_652e74a9-35db-4d21-a9ed-002326ec91de" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f7d42cf9-3caa-4638-aac2-7f9989360c21" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_652e74a9-35db-4d21-a9ed-002326ec91de" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_652e74a9-35db-4d21-a9ed-002326ec91de_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_652e74a9-35db-4d21-a9ed-002326ec91de" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_652e74a9-35db-4d21-a9ed-002326ec91de_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_1105dd23-5d53-4809-9972-8e25b4312974" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_652e74a9-35db-4d21-a9ed-002326ec91de" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_1105dd23-5d53-4809-9972-8e25b4312974" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_StockBasedCompensationMember_0bbbf6ba-ff66-40a6-b287-c457bd8bf3eb" xlink:href="form-20230401.xsd#form_StockBasedCompensationMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_1105dd23-5d53-4809-9972-8e25b4312974" xlink:to="loc_form_StockBasedCompensationMember_0bbbf6ba-ff66-40a6-b287-c457bd8bf3eb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeSeveranceMember_8c3a1117-2a5b-4b7e-8a74-ac604deffa7d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeSeveranceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_1105dd23-5d53-4809-9972-8e25b4312974" xlink:to="loc_us-gaap_EmployeeSeveranceMember_8c3a1117-2a5b-4b7e-8a74-ac604deffa7d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractTerminationMember_1e1fd146-3b30-4f63-b01d-a3217bb71eae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractTerminationMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_1105dd23-5d53-4809-9972-8e25b4312974" xlink:to="loc_us-gaap_ContractTerminationMember_1e1fd146-3b30-4f63-b01d-a3217bb71eae" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_InventoryImpairmentsMember_07eb92bf-1d51-49b6-a840-b4b59fd73b4c" xlink:href="form-20230401.xsd#form_InventoryImpairmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_1105dd23-5d53-4809-9972-8e25b4312974" xlink:to="loc_form_InventoryImpairmentsMember_07eb92bf-1d51-49b6-a840-b4b59fd73b4c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherRestructuringMember_083360a5-bfd8-4256-9917-d11412a9b530" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherRestructuringMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_1105dd23-5d53-4809-9972-8e25b4312974" xlink:to="loc_us-gaap_OtherRestructuringMember_083360a5-bfd8-4256-9917-d11412a9b530" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" xlink:type="simple" xlink:href="form-20230401.xsd#RestructuringChargesRestructuringChargesDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" xlink:type="extended" id="i5f3b4fbc8d8945279e1d9c84fc8f4fab_RestructuringChargesRestructuringChargesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_3984a88d-3946-4a48-879d-82e3153f0b10" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_0c905f04-4a20-4b51-a0f8-5270fee2866b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCharges"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_3984a88d-3946-4a48-879d-82e3153f0b10" xlink:to="loc_us-gaap_RestructuringCharges_0c905f04-4a20-4b51-a0f8-5270fee2866b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_817271bc-36d7-482d-aa73-efe9ac6a30c7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_3984a88d-3946-4a48-879d-82e3153f0b10" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_817271bc-36d7-482d-aa73-efe9ac6a30c7" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_8d7c00d0-7287-4537-a756-fb1253d44daf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_817271bc-36d7-482d-aa73-efe9ac6a30c7" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_8d7c00d0-7287-4537-a756-fb1253d44daf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_8d7c00d0-7287-4537-a756-fb1253d44daf_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_8d7c00d0-7287-4537-a756-fb1253d44daf" xlink:to="loc_us-gaap_SegmentDomain_8d7c00d0-7287-4537-a756-fb1253d44daf_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_7eae5d98-3d6d-4b0f-b079-488987428b61" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_8d7c00d0-7287-4537-a756-fb1253d44daf" xlink:to="loc_us-gaap_SegmentDomain_7eae5d98-3d6d-4b0f-b079-488987428b61" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_ProbeCardsSegmentMember_26ee533d-d81b-44fd-b21b-ca10dbcaa74b" xlink:href="form-20230401.xsd#form_ProbeCardsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_7eae5d98-3d6d-4b0f-b079-488987428b61" xlink:to="loc_form_ProbeCardsSegmentMember_26ee533d-d81b-44fd-b21b-ca10dbcaa74b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_SystemsSegmentMember_3a4f32ff-b327-4ee0-9566-463e697dfdc2" xlink:href="form-20230401.xsd#form_SystemsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_7eae5d98-3d6d-4b0f-b079-488987428b61" xlink:to="loc_form_SystemsSegmentMember_3a4f32ff-b327-4ee0-9566-463e697dfdc2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_80ebfa6f-8f57-4d19-bbaa-85ce3718faac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_817271bc-36d7-482d-aa73-efe9ac6a30c7" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_80ebfa6f-8f57-4d19-bbaa-85ce3718faac" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_80ebfa6f-8f57-4d19-bbaa-85ce3718faac_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_80ebfa6f-8f57-4d19-bbaa-85ce3718faac" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_80ebfa6f-8f57-4d19-bbaa-85ce3718faac_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_1ae9890b-9dd2-43bf-b0ee-3e581c1dd10a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_80ebfa6f-8f57-4d19-bbaa-85ce3718faac" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_1ae9890b-9dd2-43bf-b0ee-3e581c1dd10a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_a1619b9a-582d-48a8-9ec6-8a8e3de59f47" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_1ae9890b-9dd2-43bf-b0ee-3e581c1dd10a" xlink:to="loc_us-gaap_CostOfSalesMember_a1619b9a-582d-48a8-9ec6-8a8e3de59f47" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_a0b0e605-6297-4de1-89c3-5f08f2309e76" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_1ae9890b-9dd2-43bf-b0ee-3e581c1dd10a" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_a0b0e605-6297-4de1-89c3-5f08f2309e76" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_1b598a8a-8729-4b0f-bd29-5ad09ae8a6b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_1ae9890b-9dd2-43bf-b0ee-3e581c1dd10a" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_1b598a8a-8729-4b0f-bd29-5ad09ae8a6b9" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails" xlink:type="simple" xlink:href="form-20230401.xsd#RestructuringChargesChangestotheRestructuringAccrualDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails" xlink:type="extended" id="i17818c80f10c4c1ca4b114f7d1d10632_RestructuringChargesChangestotheRestructuringAccrualDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_cf7e6da6-0afc-4c84-9068-d76fdb19a45d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveRollForward_a13eab00-8047-4962-ba06-a1adf234498c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringReserveRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_cf7e6da6-0afc-4c84-9068-d76fdb19a45d" xlink:to="loc_us-gaap_RestructuringReserveRollForward_a13eab00-8047-4962-ba06-a1adf234498c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_96bf4f90-7fa0-42e2-8a33-14f08cbdc2dc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringReserve"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringReserveRollForward_a13eab00-8047-4962-ba06-a1adf234498c" xlink:to="loc_us-gaap_RestructuringReserve_96bf4f90-7fa0-42e2-8a33-14f08cbdc2dc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_50617b3c-6588-4564-b838-28a1ebc9935a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCharges"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringReserveRollForward_a13eab00-8047-4962-ba06-a1adf234498c" xlink:to="loc_us-gaap_RestructuringCharges_50617b3c-6588-4564-b838-28a1ebc9935a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRestructuring_3bd25cdc-bf9b-427c-80b3-3bd677371674" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRestructuring"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringReserveRollForward_a13eab00-8047-4962-ba06-a1adf234498c" xlink:to="loc_us-gaap_PaymentsForRestructuring_3bd25cdc-bf9b-427c-80b3-3bd677371674" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveSettledWithoutCash2_477083a9-4b3d-4cdc-be83-ca6066e373a1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringReserveSettledWithoutCash2"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringReserveRollForward_a13eab00-8047-4962-ba06-a1adf234498c" xlink:to="loc_us-gaap_RestructuringReserveSettledWithoutCash2_477083a9-4b3d-4cdc-be83-ca6066e373a1" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_6ec2b9d2-de74-4685-b26a-2d5725470efe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringReserve"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4fab6901-86c6-43ee-b9e0-30f3832825b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_cf7e6da6-0afc-4c84-9068-d76fdb19a45d" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4fab6901-86c6-43ee-b9e0-30f3832825b9" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_975833eb-9297-4384-995d-78cad3defbc8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4fab6901-86c6-43ee-b9e0-30f3832825b9" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_975833eb-9297-4384-995d-78cad3defbc8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_975833eb-9297-4384-995d-78cad3defbc8_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_975833eb-9297-4384-995d-78cad3defbc8" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_975833eb-9297-4384-995d-78cad3defbc8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_4d9be791-34c5-4309-9594-3760006a79ec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_975833eb-9297-4384-995d-78cad3defbc8" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_4d9be791-34c5-4309-9594-3760006a79ec" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeSeveranceMember_54df30d8-ca83-4a88-925a-c718d42764d3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeSeveranceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_4d9be791-34c5-4309-9594-3760006a79ec" xlink:to="loc_us-gaap_EmployeeSeveranceMember_54df30d8-ca83-4a88-925a-c718d42764d3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_StockBasedCompensationMember_8451d56b-b66d-433a-a50e-5148f4ec7598" xlink:href="form-20230401.xsd#form_StockBasedCompensationMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_4d9be791-34c5-4309-9594-3760006a79ec" xlink:to="loc_form_StockBasedCompensationMember_8451d56b-b66d-433a-a50e-5148f4ec7598" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_InventoryImpairmentsMember_c25c0835-267e-4edb-8cc8-110a1be5cec4" xlink:href="form-20230401.xsd#form_InventoryImpairmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_4d9be791-34c5-4309-9594-3760006a79ec" xlink:to="loc_form_InventoryImpairmentsMember_c25c0835-267e-4edb-8cc8-110a1be5cec4" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" xlink:type="simple" xlink:href="form-20230401.xsd#FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" xlink:type="extended" id="ib3fd42a73b50455ab00fae09e86f270b_FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_2e3d08d1-f639-4a61-a7a0-a8992dbbe694" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_2e3d08d1-f639-4a61-a7a0-a8992dbbe694" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecurities_72a13822-3614-4430-80df-25e7a601ab9f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MarketableSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:to="loc_us-gaap_MarketableSecurities_72a13822-3614-4430-80df-25e7a601ab9f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets_596a1dbd-9c4b-4395-bd27-96e19c9136af" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:to="loc_us-gaap_DerivativeAssets_596a1dbd-9c4b-4395-bd27-96e19c9136af" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_c3136e21-ae89-40ae-87a0-b15340dc8b21" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_c3136e21-ae89-40ae-87a0-b15340dc8b21" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLiabilities_9fb93bc2-194a-4c94-9f69-7f50c7fe2ee7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:to="loc_us-gaap_DerivativeLiabilities_9fb93bc2-194a-4c94-9f69-7f50c7fe2ee7" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosure_ed8096d3-cb05-4755-a1bf-46f8af9d7f18" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:to="loc_us-gaap_LiabilitiesFairValueDisclosure_ed8096d3-cb05-4755-a1bf-46f8af9d7f18" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0dce3821-040e-47da-877e-4cedb0431327" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:to="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0dce3821-040e-47da-877e-4cedb0431327" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_81a3935c-ee9b-4136-8a85-7a84bae40fce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0dce3821-040e-47da-877e-4cedb0431327" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_81a3935c-ee9b-4136-8a85-7a84bae40fce" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_81a3935c-ee9b-4136-8a85-7a84bae40fce_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_81a3935c-ee9b-4136-8a85-7a84bae40fce" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_81a3935c-ee9b-4136-8a85-7a84bae40fce_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_c8f9dcce-0bc6-450d-b562-e2deae02ba6a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_81a3935c-ee9b-4136-8a85-7a84bae40fce" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_c8f9dcce-0bc6-450d-b562-e2deae02ba6a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_1cfa00fd-70ac-4e8c-b5bd-bb74bc1afb6e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_c8f9dcce-0bc6-450d-b562-e2deae02ba6a" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_1cfa00fd-70ac-4e8c-b5bd-bb74bc1afb6e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_12e17c2e-58c8-45a5-b7a9-c1af52b8c011" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_c8f9dcce-0bc6-450d-b562-e2deae02ba6a" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_12e17c2e-58c8-45a5-b7a9-c1af52b8c011" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_e518037b-20cf-4677-bc6f-11f4b2f0d0c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_c8f9dcce-0bc6-450d-b562-e2deae02ba6a" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_e518037b-20cf-4677-bc6f-11f4b2f0d0c1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByAssetClassAxis_c56dabe0-83d1-4891-9633-c24daa50fa5b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByAssetClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0dce3821-040e-47da-877e-4cedb0431327" xlink:to="loc_us-gaap_FairValueByAssetClassAxis_c56dabe0-83d1-4891-9633-c24daa50fa5b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_c56dabe0-83d1-4891-9633-c24daa50fa5b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByAssetClassAxis_c56dabe0-83d1-4891-9633-c24daa50fa5b" xlink:to="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_c56dabe0-83d1-4891-9633-c24daa50fa5b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByAssetClassAxis_c56dabe0-83d1-4891-9633-c24daa50fa5b" xlink:to="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_e4183759-28dd-4357-9efc-1404adc118cb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:to="loc_us-gaap_MoneyMarketFundsMember_e4183759-28dd-4357-9efc-1404adc118cb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_2013d9a7-8e0c-4e10-948f-a6a0f40e53ba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommercialPaperMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:to="loc_us-gaap_CommercialPaperMember_2013d9a7-8e0c-4e10-948f-a6a0f40e53ba" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_0d1a733d-5d3d-4d9f-a310-d21a93910604" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_0d1a733d-5d3d-4d9f-a310-d21a93910604" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasuryBillSecuritiesMember_bce6942a-eba6-40e7-8d6c-0caf4a116d9f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USTreasuryBillSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:to="loc_us-gaap_USTreasuryBillSecuritiesMember_bce6942a-eba6-40e7-8d6c-0caf4a116d9f" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CertificatesOfDepositMember_537a90f7-fd89-4331-b293-cee4b21b25ca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:to="loc_us-gaap_CertificatesOfDepositMember_537a90f7-fd89-4331-b293-cee4b21b25ca" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_dab01eca-b36d-4da8-af0a-f934b117767e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:to="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_dab01eca-b36d-4da8-af0a-f934b117767e" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentRiskAxis_49b3e9df-226c-4161-9654-b3bafd543a1e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0dce3821-040e-47da-877e-4cedb0431327" xlink:to="loc_us-gaap_DerivativeInstrumentRiskAxis_49b3e9df-226c-4161-9654-b3bafd543a1e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_49b3e9df-226c-4161-9654-b3bafd543a1e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_49b3e9df-226c-4161-9654-b3bafd543a1e" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_49b3e9df-226c-4161-9654-b3bafd543a1e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_a6318f3b-21a2-4a52-b265-7d9f4b475747" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_49b3e9df-226c-4161-9654-b3bafd543a1e" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_a6318f3b-21a2-4a52-b265-7d9f4b475747" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignExchangeContractMember_a2a71421-702c-4f18-890a-e759f7486858" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeContractMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_a6318f3b-21a2-4a52-b265-7d9f4b475747" xlink:to="loc_us-gaap_ForeignExchangeContractMember_a2a71421-702c-4f18-890a-e759f7486858" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableMember_f8a05811-a16d-4015-94e6-6813f93d9b10" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesReceivableMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_a6318f3b-21a2-4a52-b265-7d9f4b475747" xlink:to="loc_us-gaap_NotesReceivableMember_f8a05811-a16d-4015-94e6-6813f93d9b10" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestRateSwapMember_ad50940b-4b29-4f63-aaa5-1366cf4a8d7e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_a6318f3b-21a2-4a52-b265-7d9f4b475747" xlink:to="loc_us-gaap_InterestRateSwapMember_ad50940b-4b29-4f63-aaa5-1366cf4a8d7e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis_733a46f1-7cc9-4445-831c-3d28a6bf866c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0dce3821-040e-47da-877e-4cedb0431327" xlink:to="loc_us-gaap_HedgingDesignationAxis_733a46f1-7cc9-4445-831c-3d28a6bf866c" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_733a46f1-7cc9-4445-831c-3d28a6bf866c_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_733a46f1-7cc9-4445-831c-3d28a6bf866c" xlink:to="loc_us-gaap_HedgingDesignationDomain_733a46f1-7cc9-4445-831c-3d28a6bf866c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_f78ee100-d805-4bc1-afc7-305cd57ec284" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_733a46f1-7cc9-4445-831c-3d28a6bf866c" xlink:to="loc_us-gaap_HedgingDesignationDomain_f78ee100-d805-4bc1-afc7-305cd57ec284" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_4f0e53ad-32b6-48bd-bb0d-6cb73c10b6e3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DesignatedAsHedgingInstrumentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_f78ee100-d805-4bc1-afc7-305cd57ec284" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_4f0e53ad-32b6-48bd-bb0d-6cb73c10b6e3" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" xlink:type="simple" xlink:href="form-20230401.xsd#FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" xlink:type="extended" id="id3385959970746e8ace328aa311ac8c3_FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLineItems_464d54d3-ea51-45fe-b81e-60703b9fdd79" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeNotionalAmount_f70015f0-f906-444c-bf76-d6e8233ceec8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeNotionalAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeLineItems_464d54d3-ea51-45fe-b81e-60703b9fdd79" xlink:to="loc_us-gaap_DerivativeNotionalAmount_f70015f0-f906-444c-bf76-d6e8233ceec8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeTable_19a3dac3-27f8-4e6e-a2b4-03f368e69ccc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeLineItems_464d54d3-ea51-45fe-b81e-60703b9fdd79" xlink:to="loc_us-gaap_DerivativeTable_19a3dac3-27f8-4e6e-a2b4-03f368e69ccc" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PositionAxis_163fe36d-a61e-4f65-95f4-b94fde151945" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PositionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeTable_19a3dac3-27f8-4e6e-a2b4-03f368e69ccc" xlink:to="loc_us-gaap_PositionAxis_163fe36d-a61e-4f65-95f4-b94fde151945" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PositionDomain_163fe36d-a61e-4f65-95f4-b94fde151945_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PositionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PositionAxis_163fe36d-a61e-4f65-95f4-b94fde151945" xlink:to="loc_us-gaap_PositionDomain_163fe36d-a61e-4f65-95f4-b94fde151945_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PositionDomain_9e56192d-cfec-413a-8cff-d92798d7859a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PositionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PositionAxis_163fe36d-a61e-4f65-95f4-b94fde151945" xlink:to="loc_us-gaap_PositionDomain_9e56192d-cfec-413a-8cff-d92798d7859a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongMember_b485330c-521f-4a50-abe9-f3e190a31051" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PositionDomain_9e56192d-cfec-413a-8cff-d92798d7859a" xlink:to="loc_us-gaap_LongMember_b485330c-521f-4a50-abe9-f3e190a31051" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortMember_2d293603-be88-46c2-b85e-923d84376e91" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PositionDomain_9e56192d-cfec-413a-8cff-d92798d7859a" xlink:to="loc_us-gaap_ShortMember_2d293603-be88-46c2-b85e-923d84376e91" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CurrencyAxis_2193751e-e004-40f6-a3bc-85f0c1593e18" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CurrencyAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeTable_19a3dac3-27f8-4e6e-a2b4-03f368e69ccc" xlink:to="loc_srt_CurrencyAxis_2193751e-e004-40f6-a3bc-85f0c1593e18" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_AllCurrenciesDomain_2193751e-e004-40f6-a3bc-85f0c1593e18_default" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_AllCurrenciesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_CurrencyAxis_2193751e-e004-40f6-a3bc-85f0c1593e18" xlink:to="loc_currency_AllCurrenciesDomain_2193751e-e004-40f6-a3bc-85f0c1593e18_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_AllCurrenciesDomain_6828f4e7-5597-4a48-b0a7-ec7c9826ea3e" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_AllCurrenciesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_CurrencyAxis_2193751e-e004-40f6-a3bc-85f0c1593e18" xlink:to="loc_currency_AllCurrenciesDomain_6828f4e7-5597-4a48-b0a7-ec7c9826ea3e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_EUR_20a91151-5677-4a79-977d-1c6895dceaed" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_EUR"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_6828f4e7-5597-4a48-b0a7-ec7c9826ea3e" xlink:to="loc_currency_EUR_20a91151-5677-4a79-977d-1c6895dceaed" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_JPY_b6023b5b-0ddb-430a-8798-e5239308c000" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_JPY"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_6828f4e7-5597-4a48-b0a7-ec7c9826ea3e" xlink:to="loc_currency_JPY_b6023b5b-0ddb-430a-8798-e5239308c000" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_KRW_1353a2cb-39c4-4f27-9a07-69ef6b9ed96a" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_KRW"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_6828f4e7-5597-4a48-b0a7-ec7c9826ea3e" xlink:to="loc_currency_KRW_1353a2cb-39c4-4f27-9a07-69ef6b9ed96a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_TWD_7c4302db-b5ad-4830-bd5f-d462e134159b" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_TWD"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_6828f4e7-5597-4a48-b0a7-ec7c9826ea3e" xlink:to="loc_currency_TWD_7c4302db-b5ad-4830-bd5f-d462e134159b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentRiskAxis_e0423897-4e0a-4f73-821c-9a85d1ac342e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeTable_19a3dac3-27f8-4e6e-a2b4-03f368e69ccc" xlink:to="loc_us-gaap_DerivativeInstrumentRiskAxis_e0423897-4e0a-4f73-821c-9a85d1ac342e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_e0423897-4e0a-4f73-821c-9a85d1ac342e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_e0423897-4e0a-4f73-821c-9a85d1ac342e" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_e0423897-4e0a-4f73-821c-9a85d1ac342e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_a404d19f-3a94-4f49-9539-a75bf22c9da6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_e0423897-4e0a-4f73-821c-9a85d1ac342e" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_a404d19f-3a94-4f49-9539-a75bf22c9da6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignExchangeForwardMember_6216cbbc-855f-40f2-a3aa-a832204be3b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeForwardMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_a404d19f-3a94-4f49-9539-a75bf22c9da6" xlink:to="loc_us-gaap_ForeignExchangeForwardMember_6216cbbc-855f-40f2-a3aa-a832204be3b3" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails" xlink:type="simple" xlink:href="form-20230401.xsd#FairValueandDerivativeInstrumentsAdditionalInformationDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails" xlink:type="extended" id="i5c468fbdf7744d17b476836ea7165202_FairValueandDerivativeInstrumentsAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_80e1761d-dd01-4252-b2a6-74febe531f99" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_d6511e0a-548f-444a-93f7-9bf7933e8d7a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_80e1761d-dd01-4252-b2a6-74febe531f99" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_d6511e0a-548f-444a-93f7-9bf7933e8d7a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosure_52e89eac-5d33-49a5-9d2b-89784ba42159" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesFairValueDisclosure"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_80e1761d-dd01-4252-b2a6-74febe531f99" xlink:to="loc_us-gaap_LiabilitiesFairValueDisclosure_52e89eac-5d33-49a5-9d2b-89784ba42159" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_e9110e0e-e321-43e6-a733-34f3ff634727" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_80e1761d-dd01-4252-b2a6-74febe531f99" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_e9110e0e-e321-43e6-a733-34f3ff634727" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_76ff70cc-06d6-405e-a819-360f90247f1d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_e9110e0e-e321-43e6-a733-34f3ff634727" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_76ff70cc-06d6-405e-a819-360f90247f1d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_76ff70cc-06d6-405e-a819-360f90247f1d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_76ff70cc-06d6-405e-a819-360f90247f1d" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_76ff70cc-06d6-405e-a819-360f90247f1d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_4ae311f9-8eea-4814-9303-49d1a8c12a74" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_76ff70cc-06d6-405e-a819-360f90247f1d" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_4ae311f9-8eea-4814-9303-49d1a8c12a74" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsNonrecurringMember_a11e22ee-2221-4089-95c7-ea8faa9d9705" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsNonrecurringMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_4ae311f9-8eea-4814-9303-49d1a8c12a74" xlink:to="loc_us-gaap_FairValueMeasurementsNonrecurringMember_a11e22ee-2221-4089-95c7-ea8faa9d9705" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" xlink:type="simple" xlink:href="form-20230401.xsd#PropertyPlantandEquipmentnetDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" xlink:type="extended" id="ia1eccf831dbb4a748d7d42c6772540fa_PropertyPlantandEquipmentnetDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_ed3dc2c2-1454-46a9-ac8d-735c73d1ae97" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_a2f42bc2-227f-4204-afc3-46b462982bd2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_ed3dc2c2-1454-46a9-ac8d-735c73d1ae97" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_a2f42bc2-227f-4204-afc3-46b462982bd2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_b69c87ef-643e-4a0f-b065-bf1bedfbd54e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_ed3dc2c2-1454-46a9-ac8d-735c73d1ae97" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_b69c87ef-643e-4a0f-b065-bf1bedfbd54e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress_6f1bd1cd-efbe-4ecd-ab47-304d1c5094bb" xlink:href="form-20230401.xsd#form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_ed3dc2c2-1454-46a9-ac8d-735c73d1ae97" xlink:to="loc_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress_6f1bd1cd-efbe-4ecd-ab47-304d1c5094bb" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConstructionInProgressGross_6b8a1973-2c18-4e26-8d4f-69ce4a5243a7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_ed3dc2c2-1454-46a9-ac8d-735c73d1ae97" xlink:to="loc_us-gaap_ConstructionInProgressGross_6b8a1973-2c18-4e26-8d4f-69ce4a5243a7" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_d5ac1bd5-e61d-4183-8c06-cb9b8576f5b5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_ed3dc2c2-1454-46a9-ac8d-735c73d1ae97" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_d5ac1bd5-e61d-4183-8c06-cb9b8576f5b5" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_7f2a7786-640c-4a50-b2a3-d3241d6ffbce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_ed3dc2c2-1454-46a9-ac8d-735c73d1ae97" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_7f2a7786-640c-4a50-b2a3-d3241d6ffbce" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_e805cdad-7874-48e9-baf2-3fbd69491920" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_7f2a7786-640c-4a50-b2a3-d3241d6ffbce" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_e805cdad-7874-48e9-baf2-3fbd69491920" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_e805cdad-7874-48e9-baf2-3fbd69491920_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_e805cdad-7874-48e9-baf2-3fbd69491920" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_e805cdad-7874-48e9-baf2-3fbd69491920_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_e805cdad-7874-48e9-baf2-3fbd69491920" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandMember_db1259b8-bc4f-42e6-aac5-5dd0489dbf9c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:to="loc_us-gaap_LandMember_db1259b8-bc4f-42e6-aac5-5dd0489dbf9c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingAndBuildingImprovementsMember_992c60be-a478-4ae2-91c7-1d38ed45c128" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingAndBuildingImprovementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:to="loc_us-gaap_BuildingAndBuildingImprovementsMember_992c60be-a478-4ae2-91c7-1d38ed45c128" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquipmentMember_48e578af-a0e8-4f0f-b9d8-ea7e158e9421" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:to="loc_us-gaap_EquipmentMember_48e578af-a0e8-4f0f-b9d8-ea7e158e9421" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_3ed393ce-e0e0-4e12-90bf-07874a150b1f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:to="loc_us-gaap_ComputerEquipmentMember_3ed393ce-e0e0-4e12-90bf-07874a150b1f" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_308557b5-d873-43fe-a017-3b5233ca62f5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_308557b5-d873-43fe-a017-3b5233ca62f5" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_23274bdb-3a1f-440e-926f-6f49e3ce7392" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_23274bdb-3a1f-440e-926f-6f49e3ce7392" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" xlink:type="simple" xlink:href="form-20230401.xsd#StockholdersEquityandStockBasedCompensationAdditionalInformationDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" xlink:type="extended" id="i7e0e249b81cc43768997a63cfc562f8d_StockholdersEquityandStockBasedCompensationAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cb1f6d0-8750-466e-827a-1192bbb0fd08" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_3ad3ffc7-4c9c-4a4c-bdf4-c2b7a3e02c5d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cb1f6d0-8750-466e-827a-1192bbb0fd08" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_3ad3ffc7-4c9c-4a4c-bdf4-c2b7a3e02c5d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_64f3b9d2-9b30-4aeb-a24b-cb00c3e2f27c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cb1f6d0-8750-466e-827a-1192bbb0fd08" xlink:to="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_64f3b9d2-9b30-4aeb-a24b-cb00c3e2f27c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_5fbd3e4c-e820-43ee-947d-45e5eb07b203" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cb1f6d0-8750-466e-827a-1192bbb0fd08" xlink:to="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_5fbd3e4c-e820-43ee-947d-45e5eb07b203" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_5c20f156-ff32-43b3-b0ce-d3c07af532ba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cb1f6d0-8750-466e-827a-1192bbb0fd08" xlink:to="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_5c20f156-ff32-43b3-b0ce-d3c07af532ba" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8414a977-fe2f-4064-911c-9f12a5ccf9ac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cb1f6d0-8750-466e-827a-1192bbb0fd08" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8414a977-fe2f-4064-911c-9f12a5ccf9ac" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_ad300b54-5e63-40bf-942a-d8c2a3614e84" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8414a977-fe2f-4064-911c-9f12a5ccf9ac" xlink:to="loc_us-gaap_StatementClassOfStockAxis_ad300b54-5e63-40bf-942a-d8c2a3614e84" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_ad300b54-5e63-40bf-942a-d8c2a3614e84_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_ad300b54-5e63-40bf-942a-d8c2a3614e84" xlink:to="loc_us-gaap_ClassOfStockDomain_ad300b54-5e63-40bf-942a-d8c2a3614e84_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_b29b4172-28a2-4dd7-a7a3-afda3f5911fe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_ad300b54-5e63-40bf-942a-d8c2a3614e84" xlink:to="loc_us-gaap_ClassOfStockDomain_b29b4172-28a2-4dd7-a7a3-afda3f5911fe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_9c1aacbf-575e-43c7-8ecd-4be18700f4e3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_b29b4172-28a2-4dd7-a7a3-afda3f5911fe" xlink:to="loc_us-gaap_CommonStockMember_9c1aacbf-575e-43c7-8ecd-4be18700f4e3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_07a5398f-4ab8-4003-ae42-ed7aa4fa90a7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8414a977-fe2f-4064-911c-9f12a5ccf9ac" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_07a5398f-4ab8-4003-ae42-ed7aa4fa90a7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_07a5398f-4ab8-4003-ae42-ed7aa4fa90a7_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_07a5398f-4ab8-4003-ae42-ed7aa4fa90a7" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_07a5398f-4ab8-4003-ae42-ed7aa4fa90a7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_170ba688-449a-41ad-8bf9-33a68c4aab12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_07a5398f-4ab8-4003-ae42-ed7aa4fa90a7" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_170ba688-449a-41ad-8bf9-33a68c4aab12" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_October2020StockRepurchaseProgramMember_ce7b527e-a85d-42a0-abce-662e1bd91f5a" xlink:href="form-20230401.xsd#form_October2020StockRepurchaseProgramMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_170ba688-449a-41ad-8bf9-33a68c4aab12" xlink:to="loc_form_October2020StockRepurchaseProgramMember_ce7b527e-a85d-42a0-abce-662e1bd91f5a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_May2022StockRepurchaseProgramMember_3a35b71d-2891-428d-8e56-908619ab8180" xlink:href="form-20230401.xsd#form_May2022StockRepurchaseProgramMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_170ba688-449a-41ad-8bf9-33a68c4aab12" xlink:to="loc_form_May2022StockRepurchaseProgramMember_3a35b71d-2891-428d-8e56-908619ab8180" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" xlink:type="simple" xlink:href="form-20230401.xsd#StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" xlink:type="extended" id="ib18203e22d934335b65cf4f4834617b7_StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16f260f0-9527-42eb-b78f-78677b6e0168" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_af392231-a059-424d-bdb5-269e12d10904" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16f260f0-9527-42eb-b78f-78677b6e0168" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_af392231-a059-424d-bdb5-269e12d10904" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_cd4597db-0fb1-4635-be9a-f2d010f6dc16" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_af392231-a059-424d-bdb5-269e12d10904" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_cd4597db-0fb1-4635-be9a-f2d010f6dc16" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_972f1ed8-999d-40f9-a916-8dd7a96d46d3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_af392231-a059-424d-bdb5-269e12d10904" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_972f1ed8-999d-40f9-a916-8dd7a96d46d3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_b6a938fa-42d1-40fe-9ac3-acd50665c4eb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_af392231-a059-424d-bdb5-269e12d10904" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_b6a938fa-42d1-40fe-9ac3-acd50665c4eb" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_e3e00d03-b887-4d21-a24f-b5ad20becc99" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_af392231-a059-424d-bdb5-269e12d10904" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_e3e00d03-b887-4d21-a24f-b5ad20becc99" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_e3018ba7-ae41-4ffb-976b-f5b7cb3075f1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_6e353f7e-bb74-4111-bc2f-fa550b307000" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16f260f0-9527-42eb-b78f-78677b6e0168" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_6e353f7e-bb74-4111-bc2f-fa550b307000" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_9880af93-9842-48c3-883a-b81f988f10a0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_6e353f7e-bb74-4111-bc2f-fa550b307000" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_9880af93-9842-48c3-883a-b81f988f10a0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_01f4d18a-18a1-4788-a34a-5c9bda739e41" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_6e353f7e-bb74-4111-bc2f-fa550b307000" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_01f4d18a-18a1-4788-a34a-5c9bda739e41" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_c149ac6a-5797-4e7e-a19b-e6e8567e0c61" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_6e353f7e-bb74-4111-bc2f-fa550b307000" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_c149ac6a-5797-4e7e-a19b-e6e8567e0c61" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_13838d3d-ff5d-43a8-a3cb-51f6f4e1300a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_6e353f7e-bb74-4111-bc2f-fa550b307000" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_13838d3d-ff5d-43a8-a3cb-51f6f4e1300a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_487934e8-60ff-4b26-9834-b909fe50f88e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6191e2f2-690e-441f-94fa-1812affd799a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16f260f0-9527-42eb-b78f-78677b6e0168" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6191e2f2-690e-441f-94fa-1812affd799a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_0afa67e5-82ca-4e0c-92de-c8d682f2b1f0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6191e2f2-690e-441f-94fa-1812affd799a" xlink:to="loc_us-gaap_PlanNameAxis_0afa67e5-82ca-4e0c-92de-c8d682f2b1f0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_0afa67e5-82ca-4e0c-92de-c8d682f2b1f0_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_0afa67e5-82ca-4e0c-92de-c8d682f2b1f0" xlink:to="loc_us-gaap_PlanNameDomain_0afa67e5-82ca-4e0c-92de-c8d682f2b1f0_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_7921f2a4-26e1-4ab2-8351-f0b5f779305f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_0afa67e5-82ca-4e0c-92de-c8d682f2b1f0" xlink:to="loc_us-gaap_PlanNameDomain_7921f2a4-26e1-4ab2-8351-f0b5f779305f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_EquityIncentivePlanMember_4134525a-fda7-46aa-b155-50038ce330c2" xlink:href="form-20230401.xsd#form_EquityIncentivePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_7921f2a4-26e1-4ab2-8351-f0b5f779305f" xlink:to="loc_form_EquityIncentivePlanMember_4134525a-fda7-46aa-b155-50038ce330c2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_278537ba-f8bf-4a84-b75b-d397d1479d04" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6191e2f2-690e-441f-94fa-1812affd799a" xlink:to="loc_us-gaap_AwardTypeAxis_278537ba-f8bf-4a84-b75b-d397d1479d04" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_278537ba-f8bf-4a84-b75b-d397d1479d04_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_278537ba-f8bf-4a84-b75b-d397d1479d04" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_278537ba-f8bf-4a84-b75b-d397d1479d04_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_82a41f05-f6fb-42c2-8a26-829f0e8d37d2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_278537ba-f8bf-4a84-b75b-d397d1479d04" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_82a41f05-f6fb-42c2-8a26-829f0e8d37d2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_3a669f05-3819-4851-a436-9e4d0814a396" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_82a41f05-f6fb-42c2-8a26-829f0e8d37d2" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_3a669f05-3819-4851-a436-9e4d0814a396" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails" xlink:type="simple" xlink:href="form-20230401.xsd#StockholdersEquityandStockBasedCompensationESPPActivityDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails" xlink:type="extended" id="i1e0232733985473bbd7c84d85dbda09b_StockholdersEquityandStockBasedCompensationESPPActivityDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e32d0892-78ee-4eed-949e-a3cac381a77e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_55e4597e-72a0-48b2-b9be-966d62cf483f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e32d0892-78ee-4eed-949e-a3cac381a77e" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_55e4597e-72a0-48b2-b9be-966d62cf483f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_71fe3ac1-4029-4794-882b-d5cfc379d25e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e32d0892-78ee-4eed-949e-a3cac381a77e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_71fe3ac1-4029-4794-882b-d5cfc379d25e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock_b92bd368-bd96-4373-b1e5-60d8a9fe192d" xlink:href="form-20230401.xsd#form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e32d0892-78ee-4eed-949e-a3cac381a77e" xlink:to="loc_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock_b92bd368-bd96-4373-b1e5-60d8a9fe192d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_309ce643-c668-4953-bb44-82a5ee206dcd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e32d0892-78ee-4eed-949e-a3cac381a77e" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_309ce643-c668-4953-bb44-82a5ee206dcd" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_82b0b7ad-597b-4943-9147-ea03fc4d9051" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_309ce643-c668-4953-bb44-82a5ee206dcd" xlink:to="loc_us-gaap_AwardTypeAxis_82b0b7ad-597b-4943-9147-ea03fc4d9051" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_82b0b7ad-597b-4943-9147-ea03fc4d9051_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_82b0b7ad-597b-4943-9147-ea03fc4d9051" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_82b0b7ad-597b-4943-9147-ea03fc4d9051_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bc9797f2-d9f4-435b-8f0a-1d005600e22f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_82b0b7ad-597b-4943-9147-ea03fc4d9051" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bc9797f2-d9f4-435b-8f0a-1d005600e22f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember_5e936d65-cfe7-43cf-a53d-ae7cfab26fbd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bc9797f2-d9f4-435b-8f0a-1d005600e22f" xlink:to="loc_us-gaap_EmployeeStockMember_5e936d65-cfe7-43cf-a53d-ae7cfab26fbd" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" xlink:type="simple" xlink:href="form-20230401.xsd#StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" xlink:type="extended" id="i4eacb80a50034dbabd087908a06bb122_StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_95e44de8-c0ef-4b70-b6aa-a6818328081a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_28fc36e1-e230-403a-ac4a-c8eaef415f24" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_95e44de8-c0ef-4b70-b6aa-a6818328081a" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_28fc36e1-e230-403a-ac4a-c8eaef415f24" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_a0b9fa31-6160-4cd6-9e8e-19f42da0f8dc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_95e44de8-c0ef-4b70-b6aa-a6818328081a" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_a0b9fa31-6160-4cd6-9e8e-19f42da0f8dc" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_8867fe8a-0865-43be-a62c-ee3f16e626c4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_a0b9fa31-6160-4cd6-9e8e-19f42da0f8dc" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_8867fe8a-0865-43be-a62c-ee3f16e626c4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_8867fe8a-0865-43be-a62c-ee3f16e626c4_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_8867fe8a-0865-43be-a62c-ee3f16e626c4" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_8867fe8a-0865-43be-a62c-ee3f16e626c4_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_7c44cf96-91ba-4997-b809-0e62ca99dc90" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_8867fe8a-0865-43be-a62c-ee3f16e626c4" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_7c44cf96-91ba-4997-b809-0e62ca99dc90" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_496d3fcc-807a-4238-8105-49736b0a4287" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7c44cf96-91ba-4997-b809-0e62ca99dc90" xlink:to="loc_us-gaap_CostOfSalesMember_496d3fcc-807a-4238-8105-49736b0a4287" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_a8bb57a7-ed9f-47c2-91a8-58fd50f5fec6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7c44cf96-91ba-4997-b809-0e62ca99dc90" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_a8bb57a7-ed9f-47c2-91a8-58fd50f5fec6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_a79fd063-7913-4335-8497-131602648768" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7c44cf96-91ba-4997-b809-0e62ca99dc90" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_a79fd063-7913-4335-8497-131602648768" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" xlink:type="simple" xlink:href="form-20230401.xsd#StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" xlink:type="extended" id="i464fbece02a54d4f9f428adedaaa988d_StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9a1109cf-e201-42ba-85ac-470f0dda729d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_1d049d3b-be0e-4294-b435-bdc0ba734956" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9a1109cf-e201-42ba-85ac-470f0dda729d" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_1d049d3b-be0e-4294-b435-bdc0ba734956" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_92efa926-ddc4-4fb5-901c-1d4e688ffb00" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9a1109cf-e201-42ba-85ac-470f0dda729d" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_92efa926-ddc4-4fb5-901c-1d4e688ffb00" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_99544bbf-c827-4e2c-9f95-1297fae457f5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9a1109cf-e201-42ba-85ac-470f0dda729d" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_99544bbf-c827-4e2c-9f95-1297fae457f5" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_0bc2c74a-3504-44be-8f51-4e3b713228e6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_99544bbf-c827-4e2c-9f95-1297fae457f5" xlink:to="loc_us-gaap_AwardTypeAxis_0bc2c74a-3504-44be-8f51-4e3b713228e6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0bc2c74a-3504-44be-8f51-4e3b713228e6_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_0bc2c74a-3504-44be-8f51-4e3b713228e6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_0bc2c74a-3504-44be-8f51-4e3b713228e6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3bd93b7e-302a-463e-9d93-b22e6f9f9f28" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_0bc2c74a-3504-44be-8f51-4e3b713228e6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3bd93b7e-302a-463e-9d93-b22e6f9f9f28" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_15c4d2ce-c97b-4ae5-aa90-531bb7a80b59" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3bd93b7e-302a-463e-9d93-b22e6f9f9f28" xlink:to="loc_us-gaap_RestrictedStockMember_15c4d2ce-c97b-4ae5-aa90-531bb7a80b59" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_PerformanceRestrictedStockUnitsMember_c31e3b6b-e30b-4ba4-a145-3a9508270ea8" xlink:href="form-20230401.xsd#form_PerformanceRestrictedStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3bd93b7e-302a-463e-9d93-b22e6f9f9f28" xlink:to="loc_form_PerformanceRestrictedStockUnitsMember_c31e3b6b-e30b-4ba4-a145-3a9508270ea8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember_22cb1347-7a9f-443a-86a1-5b24219294b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3bd93b7e-302a-463e-9d93-b22e6f9f9f28" xlink:to="loc_us-gaap_EmployeeStockMember_22cb1347-7a9f-443a-86a1-5b24219294b9" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/LeasesNarrativeDetails" xlink:type="simple" xlink:href="form-20230401.xsd#LeasesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/LeasesNarrativeDetails" xlink:type="extended" id="i1adbe1f6d38f40a58502dca248c8256c_LeasesNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_6007312b-9724-4a97-befe-c4a08eb0626d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract_af3220e2-35f7-423d-ad5c-fa22d72bb114" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_6007312b-9724-4a97-befe-c4a08eb0626d" xlink:to="loc_us-gaap_LesseeOperatingLeaseTermOfContract_af3220e2-35f7-423d-ad5c-fa22d72bb114" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseRenewalTerm_df8e8d2b-1df4-4ebf-8696-edaf3626a628" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_6007312b-9724-4a97-befe-c4a08eb0626d" xlink:to="loc_us-gaap_LesseeOperatingLeaseRenewalTerm_df8e8d2b-1df4-4ebf-8696-edaf3626a628" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_95503da0-cf93-401d-bea1-023f56120873" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_6007312b-9724-4a97-befe-c4a08eb0626d" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_95503da0-cf93-401d-bea1-023f56120873" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_f661184a-f7a2-4106-9ad8-32dcbab4bc7e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_6007312b-9724-4a97-befe-c4a08eb0626d" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_f661184a-f7a2-4106-9ad8-32dcbab4bc7e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_fb366f04-5352-4a8c-9645-0c5b31f19121" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_6007312b-9724-4a97-befe-c4a08eb0626d" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_fb366f04-5352-4a8c-9645-0c5b31f19121" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_fa4c9ff4-cf5e-4aa3-ab62-18aa86d14879" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_fb366f04-5352-4a8c-9645-0c5b31f19121" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_fa4c9ff4-cf5e-4aa3-ab62-18aa86d14879" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_fa4c9ff4-cf5e-4aa3-ab62-18aa86d14879_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_fa4c9ff4-cf5e-4aa3-ab62-18aa86d14879" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_fa4c9ff4-cf5e-4aa3-ab62-18aa86d14879_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_b732b086-8a27-4fe0-ab9f-09208a48751e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_fa4c9ff4-cf5e-4aa3-ab62-18aa86d14879" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_b732b086-8a27-4fe0-ab9f-09208a48751e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AutomobilesMember_2a51afdd-ccf7-49a8-ad1f-7e5f7f093d24" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AutomobilesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_b732b086-8a27-4fe0-ab9f-09208a48751e" xlink:to="loc_us-gaap_AutomobilesMember_2a51afdd-ccf7-49a8-ad1f-7e5f7f093d24" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_ee6eb7a5-9ac3-46de-96dc-ba55a15bb59b" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_fb366f04-5352-4a8c-9645-0c5b31f19121" xlink:to="loc_srt_RangeAxis_ee6eb7a5-9ac3-46de-96dc-ba55a15bb59b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_ee6eb7a5-9ac3-46de-96dc-ba55a15bb59b_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_ee6eb7a5-9ac3-46de-96dc-ba55a15bb59b" xlink:to="loc_srt_RangeMember_ee6eb7a5-9ac3-46de-96dc-ba55a15bb59b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_a53157df-08b0-4151-89cd-cf45e86904be" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_ee6eb7a5-9ac3-46de-96dc-ba55a15bb59b" xlink:to="loc_srt_RangeMember_a53157df-08b0-4151-89cd-cf45e86904be" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_7326de6c-74f3-45f0-aafe-8f05a2d10a5b" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_a53157df-08b0-4151-89cd-cf45e86904be" xlink:to="loc_srt_MinimumMember_7326de6c-74f3-45f0-aafe-8f05a2d10a5b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_bd30f0d3-63eb-47d0-bdc2-78c9ea413ab6" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_a53157df-08b0-4151-89cd-cf45e86904be" xlink:to="loc_srt_MaximumMember_bd30f0d3-63eb-47d0-bdc2-78c9ea413ab6" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/RevenueAdditionalInformationDetails" xlink:type="simple" xlink:href="form-20230401.xsd#RevenueAdditionalInformationDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/RevenueAdditionalInformationDetails" xlink:type="extended" id="ie73df0622aca4a3980d6495a0da902db_RevenueAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_524f44ca-5168-475c-81e5-6c60a5be3301" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_524f44ca-5168-475c-81e5-6c60a5be3301" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_c0c31216-b6ec-470d-95f7-6851dd61c210" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_c0c31216-b6ec-470d-95f7-6851dd61c210" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_9f313543-39e1-4a09-8973-b4726a396211" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_9f313543-39e1-4a09-8973-b4726a396211" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_54b11167-ae5b-43ec-be75-38ae3afada06" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_ContractWithCustomerLiability_54b11167-ae5b-43ec-be75-38ae3afada06" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_e492afcd-1d73-4f80-b946-b57e94cf6c02" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_e492afcd-1d73-4f80-b946-b57e94cf6c02" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_8b60aa38-9265-4724-a36e-756cf5c67214" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_8b60aa38-9265-4724-a36e-756cf5c67214" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_11f89287-7396-4552-a220-d865a02d9899" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_11f89287-7396-4552-a220-d865a02d9899" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_1043e5bb-66b5-4240-a3cd-aaefe18cf8b5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_11f89287-7396-4552-a220-d865a02d9899" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_1043e5bb-66b5-4240-a3cd-aaefe18cf8b5" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/RevenueAdditionalInformationDetails_1" xlink:type="simple" xlink:href="form-20230401.xsd#RevenueAdditionalInformationDetails_1"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/RevenueAdditionalInformationDetails_1" xlink:type="extended" id="i593ba3d186c946f79297548a78b31f19_RevenueAdditionalInformationDetails_1">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_524f44ca-5168-475c-81e5-6c60a5be3301" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_524f44ca-5168-475c-81e5-6c60a5be3301" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_c0c31216-b6ec-470d-95f7-6851dd61c210" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_c0c31216-b6ec-470d-95f7-6851dd61c210" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_9f313543-39e1-4a09-8973-b4726a396211" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_9f313543-39e1-4a09-8973-b4726a396211" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_54b11167-ae5b-43ec-be75-38ae3afada06" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_ContractWithCustomerLiability_54b11167-ae5b-43ec-be75-38ae3afada06" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_e492afcd-1d73-4f80-b946-b57e94cf6c02" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_e492afcd-1d73-4f80-b946-b57e94cf6c02" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_8b60aa38-9265-4724-a36e-756cf5c67214" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_8b60aa38-9265-4724-a36e-756cf5c67214" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_11f89287-7396-4552-a220-d865a02d9899" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_11f89287-7396-4552-a220-d865a02d9899" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" xlink:type="simple" xlink:href="form-20230401.xsd#OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" xlink:type="extended" id="i1deb07d20f6d436cb2478746821ff4e7_OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_715c41c1-f189-4c2d-a4e4-c731e662b4d8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_278c8b22-18fe-4230-b4f5-48393acd46ba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_715c41c1-f189-4c2d-a4e4-c731e662b4d8" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_278c8b22-18fe-4230-b4f5-48393acd46ba" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_ece1a462-07f3-4fe5-89de-8f796beb149d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_715c41c1-f189-4c2d-a4e4-c731e662b4d8" xlink:to="loc_us-gaap_GrossProfit_ece1a462-07f3-4fe5-89de-8f796beb149d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_GrossMarginPercent_b046e9c6-40ae-4137-883f-b55bf65f18f5" xlink:href="form-20230401.xsd#form_GrossMarginPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_715c41c1-f189-4c2d-a4e4-c731e662b4d8" xlink:to="loc_form_GrossMarginPercent_b046e9c6-40ae-4137-883f-b55bf65f18f5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_bed21611-77f8-46fd-b8f1-498f0c682fd1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_715c41c1-f189-4c2d-a4e4-c731e662b4d8" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_bed21611-77f8-46fd-b8f1-498f0c682fd1" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_4ceec7c1-8e92-4993-9128-9e06b2013eaf" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_bed21611-77f8-46fd-b8f1-498f0c682fd1" xlink:to="loc_srt_ConsolidationItemsAxis_4ceec7c1-8e92-4993-9128-9e06b2013eaf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_4ceec7c1-8e92-4993-9128-9e06b2013eaf_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_4ceec7c1-8e92-4993-9128-9e06b2013eaf" xlink:to="loc_srt_ConsolidationItemsDomain_4ceec7c1-8e92-4993-9128-9e06b2013eaf_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_8f3deb3a-8c1e-4df9-a38c-444b786a34dd" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_4ceec7c1-8e92-4993-9128-9e06b2013eaf" xlink:to="loc_srt_ConsolidationItemsDomain_8f3deb3a-8c1e-4df9-a38c-444b786a34dd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_00081865-63a5-4b6e-80a2-c5cec7bf95a7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_8f3deb3a-8c1e-4df9-a38c-444b786a34dd" xlink:to="loc_us-gaap_OperatingSegmentsMember_00081865-63a5-4b6e-80a2-c5cec7bf95a7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_be34a2ca-237c-4b21-b0b7-9433a0d5d797" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_bed21611-77f8-46fd-b8f1-498f0c682fd1" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_be34a2ca-237c-4b21-b0b7-9433a0d5d797" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_be34a2ca-237c-4b21-b0b7-9433a0d5d797_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_be34a2ca-237c-4b21-b0b7-9433a0d5d797" xlink:to="loc_us-gaap_SegmentDomain_be34a2ca-237c-4b21-b0b7-9433a0d5d797_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_757d8054-dda4-44e6-b569-44a8326c59df" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_be34a2ca-237c-4b21-b0b7-9433a0d5d797" xlink:to="loc_us-gaap_SegmentDomain_757d8054-dda4-44e6-b569-44a8326c59df" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_ProbeCardsSegmentMember_d8eb7215-2d5d-4ce5-950c-cda79fe42bd5" xlink:href="form-20230401.xsd#form_ProbeCardsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_757d8054-dda4-44e6-b569-44a8326c59df" xlink:to="loc_form_ProbeCardsSegmentMember_d8eb7215-2d5d-4ce5-950c-cda79fe42bd5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_SystemsSegmentMember_4e0fe37d-c317-412d-9802-8b3ed4314841" xlink:href="form-20230401.xsd#form_SystemsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_757d8054-dda4-44e6-b569-44a8326c59df" xlink:to="loc_form_SystemsSegmentMember_4e0fe37d-c317-412d-9802-8b3ed4314841" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateAndOtherMember_1865d441-f734-4421-b707-681f46678252" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateAndOtherMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_757d8054-dda4-44e6-b569-44a8326c59df" xlink:to="loc_us-gaap_CorporateAndOtherMember_1865d441-f734-4421-b707-681f46678252" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" xlink:type="simple" xlink:href="form-20230401.xsd#OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"/>
  <link:definitionLink xlink:role="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" xlink:type="extended" id="ice67166db09d4924a69d8b16fab2d090_OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_b51eb243-64a8-4707-a973-a4f809b50ba8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_5fd6effe-b1db-44b2-b62e-0a870b5e1516" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_b51eb243-64a8-4707-a973-a4f809b50ba8" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_5fd6effe-b1db-44b2-b62e-0a870b5e1516" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_a6cc6502-044f-415b-bb8e-ad07e868f1c3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_b51eb243-64a8-4707-a973-a4f809b50ba8" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_a6cc6502-044f-415b-bb8e-ad07e868f1c3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_85a537ba-56bf-44f4-9896-00473e9cd4ec" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a6cc6502-044f-415b-bb8e-ad07e868f1c3" xlink:to="loc_srt_ProductOrServiceAxis_85a537ba-56bf-44f4-9896-00473e9cd4ec" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_85a537ba-56bf-44f4-9896-00473e9cd4ec_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_85a537ba-56bf-44f4-9896-00473e9cd4ec" xlink:to="loc_srt_ProductsAndServicesDomain_85a537ba-56bf-44f4-9896-00473e9cd4ec_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_b268b81b-bf09-4b11-b08f-bacd62bf96d4" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_85a537ba-56bf-44f4-9896-00473e9cd4ec" xlink:to="loc_srt_ProductsAndServicesDomain_b268b81b-bf09-4b11-b08f-bacd62bf96d4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_FoundryLogicProductGroupMember_b0de0a33-b2f3-41b7-b3bf-9afc6c981f33" xlink:href="form-20230401.xsd#form_FoundryLogicProductGroupMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_b268b81b-bf09-4b11-b08f-bacd62bf96d4" xlink:to="loc_form_FoundryLogicProductGroupMember_b0de0a33-b2f3-41b7-b3bf-9afc6c981f33" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_DRAMProductGroupMember_a40b344b-5fcb-40b9-b391-cdb004a42032" xlink:href="form-20230401.xsd#form_DRAMProductGroupMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_b268b81b-bf09-4b11-b08f-bacd62bf96d4" xlink:to="loc_form_DRAMProductGroupMember_a40b344b-5fcb-40b9-b391-cdb004a42032" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_FlashProductGroupMember_e187740d-a237-4d72-8fec-dbaf82cfbadd" xlink:href="form-20230401.xsd#form_FlashProductGroupMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_b268b81b-bf09-4b11-b08f-bacd62bf96d4" xlink:to="loc_form_FlashProductGroupMember_e187740d-a237-4d72-8fec-dbaf82cfbadd" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_SystemsProductGroupMember_3f1216a1-ff20-4d71-8ffe-d8b84299c1d3" xlink:href="form-20230401.xsd#form_SystemsProductGroupMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_b268b81b-bf09-4b11-b08f-bacd62bf96d4" xlink:to="loc_form_SystemsProductGroupMember_3f1216a1-ff20-4d71-8ffe-d8b84299c1d3" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_7222f523-da88-4313-943b-fc62e1685b69" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a6cc6502-044f-415b-bb8e-ad07e868f1c3" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_7222f523-da88-4313-943b-fc62e1685b69" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_7222f523-da88-4313-943b-fc62e1685b69_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_7222f523-da88-4313-943b-fc62e1685b69" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_7222f523-da88-4313-943b-fc62e1685b69_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dc651c5b-46b9-4aad-ae1e-ac9ef631a947" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_7222f523-da88-4313-943b-fc62e1685b69" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dc651c5b-46b9-4aad-ae1e-ac9ef631a947" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember_2a67ee39-e547-4807-8f4f-fc4e2bf8abb6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dc651c5b-46b9-4aad-ae1e-ac9ef631a947" xlink:to="loc_us-gaap_TransferredAtPointInTimeMember_2a67ee39-e547-4807-8f4f-fc4e2bf8abb6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember_04ce9172-43d7-4d29-9e23-b5d0f9bb57e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dc651c5b-46b9-4aad-ae1e-ac9ef631a947" xlink:to="loc_us-gaap_TransferredOverTimeMember_04ce9172-43d7-4d29-9e23-b5d0f9bb57e0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_d26649b8-2423-43be-a9b4-47dd31e1fcf0" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a6cc6502-044f-415b-bb8e-ad07e868f1c3" xlink:to="loc_srt_StatementGeographicalAxis_d26649b8-2423-43be-a9b4-47dd31e1fcf0" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_d26649b8-2423-43be-a9b4-47dd31e1fcf0_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_d26649b8-2423-43be-a9b4-47dd31e1fcf0" xlink:to="loc_srt_SegmentGeographicalDomain_d26649b8-2423-43be-a9b4-47dd31e1fcf0_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_d26649b8-2423-43be-a9b4-47dd31e1fcf0" xlink:to="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_TW_2e1672f3-0d35-47be-90dd-b47eb380394f" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TW"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_country_TW_2e1672f3-0d35-47be-90dd-b47eb380394f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_1b7994f1-13a3-4d54-b03d-5268f80a3ef1" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_country_US_1b7994f1-13a3-4d54-b03d-5268f80a3ef1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_CN_966e8cf1-9d62-4970-b2d0-a3d592db78ab" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_country_CN_966e8cf1-9d62-4970-b2d0-a3d592db78ab" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_KR_aac67e06-5d81-4406-b4bf-b74d2a54e6c9" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KR"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_country_KR_aac67e06-5d81-4406-b4bf-b74d2a54e6c9" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_MY_5a8a5fcb-99e0-4831-87ae-a5fd8e02a44e" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_MY"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_country_MY_5a8a5fcb-99e0-4831-87ae-a5fd8e02a44e" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_JP_046fab27-307b-4266-b054-1ffc1b130c7a" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_country_JP_046fab27-307b-4266-b054-1ffc1b130c7a" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EuropeMember_00521422-0a6e-4627-8d64-86b223427c78" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EuropeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_srt_EuropeMember_00521422-0a6e-4627-8d64-86b223427c78" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_SG_cc1e4222-84b2-40a2-bb2e-1ba49dc7d924" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_SG"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_country_SG_cc1e4222-84b2-40a2-bb2e-1ba49dc7d924" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_RestOfTheWorldMember_31f2accc-9864-4b34-8400-909f7bd4e1e2" xlink:href="form-20230401.xsd#form_RestOfTheWorldMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_form_RestOfTheWorldMember_31f2accc-9864-4b34-8400-909f7bd4e1e2" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_700ee916-b1b4-4a63-9255-db5b3a65bf22" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a6cc6502-044f-415b-bb8e-ad07e868f1c3" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_700ee916-b1b4-4a63-9255-db5b3a65bf22" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_700ee916-b1b4-4a63-9255-db5b3a65bf22_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_700ee916-b1b4-4a63-9255-db5b3a65bf22" xlink:to="loc_us-gaap_SegmentDomain_700ee916-b1b4-4a63-9255-db5b3a65bf22_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_d15b1365-8b87-4a2f-8e77-35d972a7a757" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_700ee916-b1b4-4a63-9255-db5b3a65bf22" xlink:to="loc_us-gaap_SegmentDomain_d15b1365-8b87-4a2f-8e77-35d972a7a757" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_ProbeCardsSegmentMember_d4543674-2e96-4c1a-8a5c-46481eb73e99" xlink:href="form-20230401.xsd#form_ProbeCardsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_d15b1365-8b87-4a2f-8e77-35d972a7a757" xlink:to="loc_form_ProbeCardsSegmentMember_d4543674-2e96-4c1a-8a5c-46481eb73e99" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_SystemsSegmentMember_9b5df4bc-81bd-4201-9f5f-778910fe97ca" xlink:href="form-20230401.xsd#form_SystemsSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_d15b1365-8b87-4a2f-8e77-35d972a7a757" xlink:to="loc_form_SystemsSegmentMember_9b5df4bc-81bd-4201-9f5f-778910fe97ca" xlink:type="arc" order="1"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>form-20230401_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:c6ad957d-a97c-46e4-887a-1031f6c22890,g:30d24d1d-fc82-4e4c-8008-7009469476df-->
<link:linkbase xmlns:link="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">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_08bb9194-a7a6-4de1-bbac-f44710adb694_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAxis" xlink:to="lab_us-gaap_BusinessAcquisitionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent_18dbf958-8de5-4641-bbaa-c742da694862_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Credits and Other Liabilities, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent" xlink:to="lab_us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0462fd6b-ba83-4aa4-b55a-2271c969d9a1_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_13356a06-a192-4aa2-8ab9-3a8c7e97538f_totalLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total minimum lease payments</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_b0ca6d1c-5d1f-4bfa-aa71-d691a8a7a26f_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxAssetsNet_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="lab_us-gaap_DeferredIncomeTaxAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_7c8b7970-df75-46e8-829d-f732c99a8410_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NotesReceivableMember_2d64b038-b1e0-4bbf-8038-c4c6476fba46_terseLabel_en-US" xlink:label="lab_us-gaap_NotesReceivableMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Promissory note receivable</link:label>
    <link:label id="lab_us-gaap_NotesReceivableMember_label_en-US" xlink:label="lab_us-gaap_NotesReceivableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Notes Receivable [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesReceivableMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NotesReceivableMember" xlink:to="lab_us-gaap_NotesReceivableMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_30197c53-2d87-4a92-91ed-948ce83ae71b_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [Abstract]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_e90fe145-1c40-452b-be3a-3c047e38700b_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sub-total</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringReserve_3171c4dc-31de-4f59-b4dd-08a64b5a8b12_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued restructuring charges</link:label>
    <link:label id="lab_us-gaap_RestructuringReserve_aecc1c77-00c9-4088-8575-505308b6b7a1_periodStartLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrual at beginning of period</link:label>
    <link:label id="lab_us-gaap_RestructuringReserve_dd0a1398-6ec9-4611-a489-97b8b6085678_periodEndLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrual at end of period</link:label>
    <link:label id="lab_us-gaap_RestructuringReserve_label_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Reserve</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringReserve"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserve" xlink:to="lab_us-gaap_RestructuringReserve" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignExchangeContractMember_02b7383a-ac9e-43a6-a16f-04d81a2a265f_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignExchangeContractMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign exchange derivative contracts</link:label>
    <link:label id="lab_us-gaap_ForeignExchangeContractMember_label_en-US" xlink:label="lab_us-gaap_ForeignExchangeContractMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Exchange Contract [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignExchangeContractMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeContractMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignExchangeContractMember" xlink:to="lab_us-gaap_ForeignExchangeContractMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedEmployeeBenefitsCurrent_d8984e14-ae77-4fb9-a4fd-8c9d1790f032_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee stock purchase plan contributions withheld</link:label>
    <link:label id="lab_us-gaap_AccruedEmployeeBenefitsCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Employee Benefits, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:to="lab_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_284d624b-5cf8-4a7f-b16c-c492e0b6378c_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from investing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeMember_a61a8802-0501-4576-98e6-2b806c5ccfa4_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:label id="lab_srt_RangeMember_label_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Depreciation_bbbde6d1-1481-482a-be24-2faaed06e7ea_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:label id="lab_us-gaap_Depreciation_label_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation" xlink:to="lab_us-gaap_Depreciation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_1dfc1b86-9a2d-4267-993b-bdc8bac29d89_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_dfe9f3e5-0915-4f72-aa72-542f83e611ed_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, weighted average discount rate</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_1acc9f70-29e4-45c7-9d21-851a40724b3f_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid in Capital, Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_form_SystemsSegmentMember_9c9c2920-25f4-483d-b04a-bdc37909fc3b_terseLabel_en-US" xlink:label="lab_form_SystemsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Systems</link:label>
    <link:label id="lab_form_SystemsSegmentMember_label_en-US" xlink:label="lab_form_SystemsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Systems Segment [Member]</link:label>
    <link:label id="lab_form_SystemsSegmentMember_documentation_en-US" xlink:label="lab_form_SystemsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Systems Segment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_SystemsSegmentMember" xlink:href="form-20230401.xsd#form_SystemsSegmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_SystemsSegmentMember" xlink:to="lab_form_SystemsSegmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_81116923-4934-4967-80b6-2c29e020a80e_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_f99ea751-0897-47ca-bc31-1272be000cbb_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_486e376d-c671-4514-be9f-db01e7076692_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_02bb301d-ca3d-4b2b-a364-d21f45928e9f_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:to="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_d1c42d6b-9beb-4926-aa9b-1d9834d10939_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Securities not included as they would have been antidilutive (in shares)</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TaxesPayableCurrentAndNoncurrent_91243b8d-65b0-4d2f-bd33-3d74df15a4ee_terseLabel_en-US" xlink:label="lab_us-gaap_TaxesPayableCurrentAndNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued income and other taxes</link:label>
    <link:label id="lab_us-gaap_TaxesPayableCurrentAndNoncurrent_label_en-US" xlink:label="lab_us-gaap_TaxesPayableCurrentAndNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taxes Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrentAndNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxesPayableCurrentAndNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxesPayableCurrentAndNoncurrent" xlink:to="lab_us-gaap_TaxesPayableCurrentAndNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareRepurchaseProgramDomain_2bc40ffb-2f1f-4efd-b59a-20a88cbf4a2f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Repurchase Program [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareRepurchaseProgramDomain_label_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Repurchase Program [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain" xlink:to="lab_us-gaap_ShareRepurchaseProgramDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_77b3f081-389e-4d58-99c2-ac0b430e4342_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsNonrecurringMember_734fe8bf-6208-48ca-bedb-1421ebf7ffaa_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsNonrecurringMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nonrecurring</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsNonrecurringMember_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsNonrecurringMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Nonrecurring [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsNonrecurringMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsNonrecurringMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsNonrecurringMember" xlink:to="lab_us-gaap_FairValueMeasurementsNonrecurringMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosure_261508ba-92ef-4cba-85e9-6e2d87846ba8_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosure_9b164fc1-b884-4c14-a1b2-2fc0a45badd9_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets measured at fair value on non-recurring basis</link:label>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsFairValueDisclosure" xlink:to="lab_us-gaap_AssetsFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringPlanAxis_ca6bf62f-da03-47b5-a19b-c101fb9d7e82_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringPlanAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Plan [Axis]</link:label>
    <link:label id="lab_us-gaap_RestructuringPlanAxis_label_en-US" xlink:label="lab_us-gaap_RestructuringPlanAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Plan [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringPlanAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringPlanAxis" xlink:to="lab_us-gaap_RestructuringPlanAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_5df157d0-6401-4fb5-8bb8-b55fb4b2af81_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_fbaae2b9-e92c-4fb2-929d-0e7da1392487_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_581fb88b-6747-4b41-8a61-f46f63d02260_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Measurement, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameAxis_a1e18a0a-5018-43ed-80dd-177a860976bf_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:label id="lab_us-gaap_PlanNameAxis_label_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis" xlink:to="lab_us-gaap_PlanNameAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetNet_e92e800b-101f-43de-8da6-0c6c18c59488_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract assets</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetNet_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Asset, after Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetNet" xlink:to="lab_us-gaap_ContractWithCustomerAssetNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_HedgingDesignationDomain_3f547996-4760-44c9-a1fc-6558bbe3c6f9_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingDesignationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:label id="lab_us-gaap_HedgingDesignationDomain_label_en-US" xlink:label="lab_us-gaap_HedgingDesignationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingDesignationDomain" xlink:to="lab_us-gaap_HedgingDesignationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_5252fd70-0f76-4d10-a3c3-4127fcd69120_terseLabel_en-US" xlink:label="lab_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_label_en-US" xlink:label="lab_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, after Year Four</link:label>
    <link:label id="lab_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_documentation_en-US" xlink:label="lab_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, after Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:href="form-20230401.xsd#form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:to="lab_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SupplementalCashFlowInformationAbstract_91b87b4f-8186-46d8-beb2-6481fc04370d_terseLabel_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental disclosure of cash flow information:</link:label>
    <link:label id="lab_us-gaap_SupplementalCashFlowInformationAbstract_label_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental Cash Flow Information [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeInstrumentRiskAxis_dc902ba3-d714-4e20-902e-6e5728f3404d_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentRiskAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentRiskAxis_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentRiskAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentRiskAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis" xlink:to="lab_us-gaap_DerivativeInstrumentRiskAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_fb864944-c9de-43cd-8acb-f51992bf36d0_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Expense</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameDomain_e3ba44ce-bc55-4a65-8c85-ab8041add720_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:label id="lab_us-gaap_PlanNameDomain_label_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain" xlink:to="lab_us-gaap_PlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_27fee6df-3647-4229-95d5-f318dc7a4286_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remainder of 2023</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillLineItems_50043802-1a77-4fc7-8569-6aa0db2521a5_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Line Items]</link:label>
    <link:label id="lab_us-gaap_GoodwillLineItems_label_en-US" xlink:label="lab_us-gaap_GoodwillLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillLineItems" xlink:to="lab_us-gaap_GoodwillLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_e210d10e-66f4-4199-8272-8cbce68c2fcc_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_66238b7d-4c3d-4841-8ddf-1df0f11fd0b7_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_37326f09-219a-4e0e-8658-2e2033adcef5_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level 1</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel1Member" xlink:to="lab_us-gaap_FairValueInputsLevel1Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeStockMember_08e74a08-0f93-468d-8e5c-b40b2b8590f9_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee stock purchase plan</link:label>
    <link:label id="lab_us-gaap_EmployeeStockMember_label_en-US" xlink:label="lab_us-gaap_EmployeeStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockMember" xlink:to="lab_us-gaap_EmployeeStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_8bdf37fb-b860-46b5-8012-e6a4876be81d_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income (loss), net of tax:</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardTypeAxis_af3eefdb-3dd6-4509-9f9f-41582083f99b_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_d74bd4b9-0959-4e1e-89ce-17edf639e18a_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_form_ChangeInCapitalExpendituresIncurredButNotYetPaid_05d6963a-2059-4b00-8697-b160107d0760_terseLabel_en-US" xlink:label="lab_form_ChangeInCapitalExpendituresIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Decrease in accounts payable and accrued liabilities related to property, plant and equipment purchases</link:label>
    <link:label id="lab_form_ChangeInCapitalExpendituresIncurredButNotYetPaid_label_en-US" xlink:label="lab_form_ChangeInCapitalExpendituresIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change In Capital Expenditures Incurred But Not Yet Paid</link:label>
    <link:label id="lab_form_ChangeInCapitalExpendituresIncurredButNotYetPaid_documentation_en-US" xlink:label="lab_form_ChangeInCapitalExpendituresIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change In Capital Expenditures Incurred But Not Yet Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_ChangeInCapitalExpendituresIncurredButNotYetPaid" xlink:href="form-20230401.xsd#form_ChangeInCapitalExpendituresIncurredButNotYetPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_ChangeInCapitalExpendituresIncurredButNotYetPaid" xlink:to="lab_form_ChangeInCapitalExpendituresIncurredButNotYetPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_02288d91-f80c-40de-9557-9470a59cd935_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_9ff375f6-b663-4b59-8f4c-7677ed7847f3_negatedLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: current portion</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeAssets_4da3e1bf-bbd2-4e6a-a671-c7ffaacd33ab_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative contracts</link:label>
    <link:label id="lab_us-gaap_DerivativeAssets_label_en-US" xlink:label="lab_us-gaap_DerivativeAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssets" xlink:to="lab_us-gaap_DerivativeAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_3217e579-8372-49fa-9d85-2dcaad28f2fb_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InProcessResearchAndDevelopmentMember_114bc4ae-9bfe-4d79-b018-8acea3b22c83_terseLabel_en-US" xlink:label="lab_us-gaap_InProcessResearchAndDevelopmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">In-process research and development</link:label>
    <link:label id="lab_us-gaap_InProcessResearchAndDevelopmentMember_label_en-US" xlink:label="lab_us-gaap_InProcessResearchAndDevelopmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">In Process Research and Development [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InProcessResearchAndDevelopmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InProcessResearchAndDevelopmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InProcessResearchAndDevelopmentMember" xlink:to="lab_us-gaap_InProcessResearchAndDevelopmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_9046659e-db96-45ec-8b0c-8d59b636df0d_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_currency_AllCurrenciesDomain_d92a3035-9ac1-4656-a1b0-bf017ec199b0_terseLabel_en-US" xlink:label="lab_currency_AllCurrenciesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Currencies [Domain]</link:label>
    <link:label id="lab_currency_AllCurrenciesDomain_label_en-US" xlink:label="lab_currency_AllCurrenciesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">All Currencies [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_currency_AllCurrenciesDomain" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_AllCurrenciesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_AllCurrenciesDomain" xlink:to="lab_currency_AllCurrenciesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_form_ExistingDevelopedTechnologiesMember_0f6a1b31-cc8e-4498-9725-1f49dee4c92b_verboseLabel_en-US" xlink:label="lab_form_ExistingDevelopedTechnologiesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Existing developed technologies</link:label>
    <link:label id="lab_form_ExistingDevelopedTechnologiesMember_label_en-US" xlink:label="lab_form_ExistingDevelopedTechnologiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Existing Developed Technologies [Member]</link:label>
    <link:label id="lab_form_ExistingDevelopedTechnologiesMember_documentation_en-US" xlink:label="lab_form_ExistingDevelopedTechnologiesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Existing Developed Technologies [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_ExistingDevelopedTechnologiesMember" xlink:href="form-20230401.xsd#form_ExistingDevelopedTechnologiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_ExistingDevelopedTechnologiesMember" xlink:to="lab_form_ExistingDevelopedTechnologiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtNoncurrent_e7ab75b9-44a7-4fa7-ab41-b4a4d600965a_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Term loan, less current portion, net of unamortized issuance costs</link:label>
    <link:label id="lab_us-gaap_LongTermDebtNoncurrent_label_en-US" xlink:label="lab_us-gaap_LongTermDebtNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Excluding Current Maturities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtNoncurrent" xlink:to="lab_us-gaap_LongTermDebtNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CertificatesOfDepositMember_8a93a26c-4cf7-4ff3-867a-941a449d1c29_terseLabel_en-US" xlink:label="lab_us-gaap_CertificatesOfDepositMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Certificates of deposit</link:label>
    <link:label id="lab_us-gaap_CertificatesOfDepositMember_label_en-US" xlink:label="lab_us-gaap_CertificatesOfDepositMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Certificates of Deposit [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CertificatesOfDepositMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CertificatesOfDepositMember" xlink:to="lab_us-gaap_CertificatesOfDepositMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Liabilities_07142321-7810-4088-ab64-a9c98b0e8c2d_totalLabel_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities</link:label>
    <link:label id="lab_us-gaap_Liabilities_label_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities" xlink:to="lab_us-gaap_Liabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_form_A2021RestructuringPlanMember_a789d9d6-862e-4b62-a782-dbe0f26d52e7_terseLabel_en-US" xlink:label="lab_form_A2021RestructuringPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021 Restructuring Plan</link:label>
    <link:label id="lab_form_A2021RestructuringPlanMember_label_en-US" xlink:label="lab_form_A2021RestructuringPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021 Restructuring Plan [Member]</link:label>
    <link:label id="lab_form_A2021RestructuringPlanMember_documentation_en-US" xlink:label="lab_form_A2021RestructuringPlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021 Restructuring Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_A2021RestructuringPlanMember" xlink:href="form-20230401.xsd#form_A2021RestructuringPlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_A2021RestructuringPlanMember" xlink:to="lab_form_A2021RestructuringPlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_391042bb-388f-4876-bb1e-baf92bb26c79_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, weighted average remaining lease term</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_form_DeferredGovernmentGrantLiability_5a3cdbfd-50b0-40c7-9b36-2296b04b464a_terseLabel_en-US" xlink:label="lab_form_DeferredGovernmentGrantLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred grant</link:label>
    <link:label id="lab_form_DeferredGovernmentGrantLiability_03264389-e47f-4b1f-88b5-70a6778a1695_verboseLabel_en-US" xlink:label="lab_form_DeferredGovernmentGrantLiability" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash received from grant</link:label>
    <link:label id="lab_form_DeferredGovernmentGrantLiability_label_en-US" xlink:label="lab_form_DeferredGovernmentGrantLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Government Grant Liability</link:label>
    <link:label id="lab_form_DeferredGovernmentGrantLiability_documentation_en-US" xlink:label="lab_form_DeferredGovernmentGrantLiability" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Government Grant Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_DeferredGovernmentGrantLiability" xlink:href="form-20230401.xsd#form_DeferredGovernmentGrantLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_DeferredGovernmentGrantLiability" xlink:to="lab_form_DeferredGovernmentGrantLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_StatementGeographicalAxis_01390144-49f0-42d7-b6c8-c218f5669257_terseLabel_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:label id="lab_srt_StatementGeographicalAxis_label_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StatementGeographicalAxis" xlink:to="lab_srt_StatementGeographicalAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d57d3401-cd0c-43d8-9851-6f6ce4eee3d8_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PositionAxis_14353e0d-7aa8-431c-9acb-bf562c9ecc1c_terseLabel_en-US" xlink:label="lab_us-gaap_PositionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Position [Axis]</link:label>
    <link:label id="lab_us-gaap_PositionAxis_label_en-US" xlink:label="lab_us-gaap_PositionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Position [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PositionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PositionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PositionAxis" xlink:to="lab_us-gaap_PositionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualPayments_ad70a375-8547-4d3f-bba1-8708d1af86c8_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualPayments" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Settlements</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualPayments_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualPayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard and Extended Product Warranty Accrual, Decrease for Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualPayments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualPayments" xlink:to="lab_us-gaap_ProductWarrantyAccrualPayments" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_8f75b8a5-2eb6-424c-afea-ba6dc460a232_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_0e6e0204-f8d6-41b9-845b-13de70d9a2ff_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RisksAndUncertaintiesAbstract_873aa281-3072-40d5-a2fe-62af4607ebe0_terseLabel_en-US" xlink:label="lab_us-gaap_RisksAndUncertaintiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Risks and Uncertainties [Abstract]</link:label>
    <link:label id="lab_us-gaap_RisksAndUncertaintiesAbstract_label_en-US" xlink:label="lab_us-gaap_RisksAndUncertaintiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Risks and Uncertainties [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RisksAndUncertaintiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RisksAndUncertaintiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RisksAndUncertaintiesAbstract" xlink:to="lab_us-gaap_RisksAndUncertaintiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_d8da2248-8acd-4d2b-b261-7cd7f1b8412f_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Property, Plant and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_8766e736-d68d-458b-a008-b65e212c380f_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TransferredAtPointInTimeMember_a9e69cbc-5cd1-4838-a94b-398714a8e06c_terseLabel_en-US" xlink:label="lab_us-gaap_TransferredAtPointInTimeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Products transferred at a point in time</link:label>
    <link:label id="lab_us-gaap_TransferredAtPointInTimeMember_label_en-US" xlink:label="lab_us-gaap_TransferredAtPointInTimeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Transferred at Point in Time [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TransferredAtPointInTimeMember" xlink:to="lab_us-gaap_TransferredAtPointInTimeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_a268800b-dbf3-452f-bd2d-9a66259b6e61_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Units</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_84944afc-a5d9-4835-a202-ce8c817a8db1_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveAxis_4c7c08bb-bd3d-483e-8e4f-d695ac1fd8e2_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Type [Axis]</link:label>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveAxis_label_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis" xlink:to="lab_us-gaap_RestructuringCostAndReserveAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_76f467be-8305-4a51-bcd3-8fd107434a79_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_a88f70b6-56ee-4b94-969b-f0038de33474_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2f2e6c85-edb6-4d46-a041-919771128b36_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementBusinessSegmentsAxis_a1132ea4-4c78-41c4-85f3-20b7aa51a9fd_terseLabel_en-US" xlink:label="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementBusinessSegmentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis" xlink:to="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductsAndServicesDomain_321760cd-014c-4c57-b2ec-8c0718839827_terseLabel_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:label id="lab_srt_ProductsAndServicesDomain_label_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain" xlink:to="lab_srt_ProductsAndServicesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_54dc47cc-47a6-4e5f-b607-d35283c876aa_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityShellCompany_04e52696-9e6f-41ff-9ad3-5bc427883924_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:label id="lab_dei_EntityShellCompany_label_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_bd1839cb-7f25-444d-a858-c294946b5697_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_72e5a30a-e389-4829-acc9-8df805d139d1_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenues</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Deferred Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskTable_cefe0237-dbdd-4f73-aa10-61fdc2a5d820_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Table]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskTable_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTable" xlink:to="lab_us-gaap_ConcentrationRiskTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_53ba1264-0e84-4e26-bad7-f24997e4cbe9_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ConsolidationItemsDomain_bf35c856-5b9b-4b03-adee-618ec959a6ed_terseLabel_en-US" xlink:label="lab_srt_ConsolidationItemsDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Domain]</link:label>
    <link:label id="lab_srt_ConsolidationItemsDomain_label_en-US" xlink:label="lab_srt_ConsolidationItemsDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ConsolidationItemsDomain" xlink:to="lab_srt_ConsolidationItemsDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesRevenueNetMember_79fd0e65-f457-4353-8822-6c2e99c7fd71_terseLabel_en-US" xlink:label="lab_us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Benchmark</link:label>
    <link:label id="lab_us-gaap_SalesRevenueNetMember_label_en-US" xlink:label="lab_us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueNetMember" xlink:to="lab_us-gaap_SalesRevenueNetMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_cc2331c6-785c-447b-b17a-9a56864d0c10_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherDeferredLiability_9a8f5670-7163-40a3-be47-6e6f569a38ef_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherDeferredLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherDeferredLiability_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherDeferredLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Deferred Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherDeferredLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherDeferredLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherDeferredLiability" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherDeferredLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent_27299a9f-1888-4162-8aed-e9db5045fbb6_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued warranty</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty Accrual, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:to="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Assets_5b973393-d2a0-4274-8ab2-8063e9a0ba9f_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_label_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_098fd839-bae9-42a0-93df-9fa37eb420e5_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income per share:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_bb584701-8e0f-4d4c-9461-0bb0e8327bec_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis" xlink:to="lab_us-gaap_IncomeStatementLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestRateSwapMember_1eba891a-7aa2-40a1-a989-290744108a0d_terseLabel_en-US" xlink:label="lab_us-gaap_InterestRateSwapMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest rate swap derivative contracts</link:label>
    <link:label id="lab_us-gaap_InterestRateSwapMember_label_en-US" xlink:label="lab_us-gaap_InterestRateSwapMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Rate Swap [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestRateSwapMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestRateSwapMember" xlink:to="lab_us-gaap_InterestRateSwapMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_3e0f8f00-3ffd-4721-b0a1-70623aa0f879_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued liabilities</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_13629d80-66cc-4ca3-be9a-4583f96a5fe8_totalLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued liabilities</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_500b37af-dd25-43fc-93ab-3c308159e0df_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restructuring and Related Costs [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restructuring and Related Costs [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractTerminationMember_b0270953-96ec-4a37-af19-3ba3b16c978b_terseLabel_en-US" xlink:label="lab_us-gaap_ContractTerminationMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract Termination &amp; Other Costs</link:label>
    <link:label id="lab_us-gaap_ContractTerminationMember_label_en-US" xlink:label="lab_us-gaap_ContractTerminationMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract Termination [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractTerminationMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractTerminationMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractTerminationMember" xlink:to="lab_us-gaap_ContractTerminationMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtCurrent_a6d10a15-92cb-49f1-85be-fb0541d90831_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current portion of term loan, net of unamortized issuance costs</link:label>
    <link:label id="lab_us-gaap_LongTermDebtCurrent_label_en-US" xlink:label="lab_us-gaap_LongTermDebtCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Current Maturities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtCurrent" xlink:to="lab_us-gaap_LongTermDebtCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_1d555935-78f8-4058-9e62-a4a368044a81_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by (used) in financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_b07064f7-0576-491a-9340-4274802ad90e_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock repurchase program authorized amount</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Authorized Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:to="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_58e6c845-582e-47af-a4cb-e77636273880_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued compensation and benefits</link:label>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee-related Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableLeaseCost_8bf10678-2d71-4f32-a5d3-07847657469f_terseLabel_en-US" xlink:label="lab_us-gaap_VariableLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable lease expense</link:label>
    <link:label id="lab_us-gaap_VariableLeaseCost_label_en-US" xlink:label="lab_us-gaap_VariableLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableLeaseCost" xlink:to="lab_us-gaap_VariableLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_1ca610de-5e99-49d5-afb0-43e0bad7d4b1_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income before income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_563bb081-64d4-4b70-8457-1e85d9b7858e_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders&#8217; equity:</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_3972db5c-3e3c-4643-9fe3-16c415234649_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expense and Other Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentDomain_97541090-7d14-4fb7-a783-41a90164776e_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Domain]</link:label>
    <link:label id="lab_us-gaap_SegmentDomain_label_en-US" xlink:label="lab_us-gaap_SegmentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentDomain" xlink:to="lab_us-gaap_SegmentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTable_e80e4f95-9719-4a36-bc27-611f77ddc4b2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable" xlink:to="lab_us-gaap_ScheduleOfGoodwillTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_9f74f070-c9eb-49ba-9768-ca2821171f92_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income per Share</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareTextBlock" xlink:to="lab_us-gaap_EarningsPerShareTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MajorCustomersAxis_321a713d-e8b6-4efd-bdfe-ca1be3acec90_terseLabel_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Major Customers [Axis]</link:label>
    <link:label id="lab_srt_MajorCustomersAxis_label_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MajorCustomersAxis" xlink:to="lab_srt_MajorCustomersAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_currency_JPY_8d366699-7c72-4e0a-a771-73744b3db672_terseLabel_en-US" xlink:label="lab_currency_JPY" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Japanese Yen</link:label>
    <link:label id="lab_currency_JPY_label_en-US" xlink:label="lab_currency_JPY" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Japan, Yen</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_currency_JPY" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_JPY"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_JPY" xlink:to="lab_currency_JPY" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingLeaseLiability_aa920729-ff6c-4188-87f5-c645bd828f93_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Operating Lease Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b483e88f-0f9a-45b9-9924-ea67db4376b2_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_6f126a59-36cd-47a6-ab92-37ef7e5d1d70_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Average Expected Recognition Period in Years</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringPlanDomain_f6d96a9b-7889-4034-8b59-e54e8b21200d_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringPlanDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Plan [Domain]</link:label>
    <link:label id="lab_us-gaap_RestructuringPlanDomain_label_en-US" xlink:label="lab_us-gaap_RestructuringPlanDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Plan [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringPlanDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringPlanDomain" xlink:to="lab_us-gaap_RestructuringPlanDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_3ef44eed-2633-4a9a-87e2-2ceb162bd035_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringReserveSettledWithoutCash2_990873dd-e07c-4bf4-a74b-818baa50378f_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveSettledWithoutCash2" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-cash settlement</link:label>
    <link:label id="lab_us-gaap_RestructuringReserveSettledWithoutCash2_label_en-US" xlink:label="lab_us-gaap_RestructuringReserveSettledWithoutCash2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Reserve, Settled without Cash</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveSettledWithoutCash2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringReserveSettledWithoutCash2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserveSettledWithoutCash2" xlink:to="lab_us-gaap_RestructuringReserveSettledWithoutCash2" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComputerEquipmentMember_adb30418-1e8f-4807-8ccb-ed1d178bc3d5_terseLabel_en-US" xlink:label="lab_us-gaap_ComputerEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Computer equipment and software</link:label>
    <link:label id="lab_us-gaap_ComputerEquipmentMember_label_en-US" xlink:label="lab_us-gaap_ComputerEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Computer Equipment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComputerEquipmentMember" xlink:to="lab_us-gaap_ComputerEquipmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_form_EquityIncentivePlanMember_db524aa1-754e-4c45-8077-de38830d6ccd_terseLabel_en-US" xlink:label="lab_form_EquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Incentive Plan</link:label>
    <link:label id="lab_form_EquityIncentivePlanMember_label_en-US" xlink:label="lab_form_EquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Incentive Plan [Member]</link:label>
    <link:label id="lab_form_EquityIncentivePlanMember_documentation_en-US" xlink:label="lab_form_EquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Incentive Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_EquityIncentivePlanMember" xlink:href="form-20230401.xsd#form_EquityIncentivePlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_EquityIncentivePlanMember" xlink:to="lab_form_EquityIncentivePlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeContractTypeDomain_56a6daf9-05c6-4c3d-95f0-e5e5eb2441a4_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeContractTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Contract [Domain]</link:label>
    <link:label id="lab_us-gaap_DerivativeContractTypeDomain_label_en-US" xlink:label="lab_us-gaap_DerivativeContractTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Contract [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeContractTypeDomain" xlink:to="lab_us-gaap_DerivativeContractTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GrossProfit_aa4ccafc-e74b-43ef-826f-0b870fdecb2f_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross profit</link:label>
    <link:label id="lab_us-gaap_GrossProfit_856f00d7-8fd2-4bd7-bc3e-d33b43369cff_terseLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross profit</link:label>
    <link:label id="lab_us-gaap_GrossProfit_label_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Profit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit" xlink:to="lab_us-gaap_GrossProfit" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_b1d3607d-aa5f-440b-a118-4317aa04d612_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
    <link:label id="lab_country_CN_8fe01d48-e7c8-4830-83da-534523d8b9be_terseLabel_en-US" xlink:label="lab_country_CN" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">China</link:label>
    <link:label id="lab_country_CN_label_en-US" xlink:label="lab_country_CN" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">CHINA</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_CN" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_CN" xlink:to="lab_country_CN" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringReserveRollForward_f2f16ce8-4a7a-4a45-a0c4-9ad96b256f43_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Reserve [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_RestructuringReserveRollForward_label_en-US" xlink:label="lab_us-gaap_RestructuringReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Reserve [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringReserveRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserveRollForward" xlink:to="lab_us-gaap_RestructuringReserveRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_686985e1-59eb-4b01-8715-4684e92e7849_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency translation</link:label>
    <link:label id="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_label_en-US" xlink:label="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Foreign Currency Translation Gain (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:to="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_2c3742c4-acf8-49bb-8d17-63c8d6dd0999_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer relationships</link:label>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_label_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerRelationshipsMember" xlink:to="lab_us-gaap_CustomerRelationshipsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_b8fcd33d-44e9-493e-a513-e465e5e2127d_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_form_ProbeCardsSegmentMember_7db2f51a-a580-4774-b79e-222e9655e1d8_terseLabel_en-US" xlink:label="lab_form_ProbeCardsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Probe Cards</link:label>
    <link:label id="lab_form_ProbeCardsSegmentMember_label_en-US" xlink:label="lab_form_ProbeCardsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Probe Cards Segment [Member]</link:label>
    <link:label id="lab_form_ProbeCardsSegmentMember_documentation_en-US" xlink:label="lab_form_ProbeCardsSegmentMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Probe Cards Segment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_ProbeCardsSegmentMember" xlink:href="form-20230401.xsd#form_ProbeCardsSegmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_ProbeCardsSegmentMember" xlink:to="lab_form_ProbeCardsSegmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeasesAbstract_432dba02-059c-43ec-a6e1-2d01c370abde_terseLabel_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:label id="lab_us-gaap_LeasesAbstract_label_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpensesAbstract_c5fe1805-b77c-48aa-8819-95b42883fb53_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating expenses:</link:label>
    <link:label id="lab_us-gaap_OperatingExpensesAbstract_label_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expenses [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpensesAbstract" xlink:to="lab_us-gaap_OperatingExpensesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_535d19c2-7cb5-4027-8040-d14b10a9091b_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_f6d80636-825c-4022-bccc-bc579ba64a64_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value by Asset Class [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Class [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="lab_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MinimumMember_3b894b5d-984a-4201-a360-91126554be47_terseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum</link:label>
    <link:label id="lab_srt_MinimumMember_label_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_d0b072d1-01eb-44e3-bcd8-51d88e079816_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted cash</link:label>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash and Cash Equivalents, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_70e24952-612e-47bd-9793-21a9a5581dbd_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_8392237f-2a69-4fc5-820b-5cf628a42014_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_8a7f95c6-9ca6-450f-8917-4cdba88f3aae_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryRawMaterialsNetOfReserves_588639c1-7b8b-4774-bcca-5821c483d801_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Raw materials</link:label>
    <link:label id="lab_us-gaap_InventoryRawMaterialsNetOfReserves_label_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Raw Materials, Net of Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="lab_us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryWriteDown_927d8863-2997-46aa-bb45-4d95888451bd_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryWriteDown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for excess and obsolete inventories</link:label>
    <link:label id="lab_us-gaap_InventoryWriteDown_label_en-US" xlink:label="lab_us-gaap_InventoryWriteDown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Write-down</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWriteDown" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWriteDown" xlink:to="lab_us-gaap_InventoryWriteDown" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_a9f799f7-f811-4b9f-90f0-042c256a51c8_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_f59c4244-6baa-4405-9dad-64157319be96_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_4f5226db-9744-414a-95fa-c87b5b1cbc8b_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value and Derivative Instruments</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:to="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_form_MajorCustomer1Member_90aee8d2-5383-46d9-b352-19c381c082cb_terseLabel_en-US" xlink:label="lab_form_MajorCustomer1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Major Customer 1</link:label>
    <link:label id="lab_form_MajorCustomer1Member_label_en-US" xlink:label="lab_form_MajorCustomer1Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Major Customer 1 [Member]</link:label>
    <link:label id="lab_form_MajorCustomer1Member_documentation_en-US" xlink:label="lab_form_MajorCustomer1Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer 1 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_MajorCustomer1Member" xlink:href="form-20230401.xsd#form_MajorCustomer1Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_MajorCustomer1Member" xlink:to="lab_form_MajorCustomer1Member" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_dc391ef1-f3a0-47d1-8e99-297d176be426_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_3f89da20-bd60-43a8-89cf-1eae12667402_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_86982a9b-7f21-46a6-ae03-0bf1d1bea130_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="lab_us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_8fcc3eb7-cf74-4f88-892a-f8c7caf5d977_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_8bcd4ee6-3c57-49d4-8326-eb01f15c87cc_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredRevenueCurrent_e5c567db-6a16-4cda-a5ee-0d9150532621_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_DeferredRevenueCurrent_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Revenue, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenueCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueCurrent" xlink:to="lab_us-gaap_DeferredRevenueCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquipmentMember_daa12b53-2bf1-4687-92f0-95f9d3d38eba_terseLabel_en-US" xlink:label="lab_us-gaap_EquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Machinery and equipment</link:label>
    <link:label id="lab_us-gaap_EquipmentMember_label_en-US" xlink:label="lab_us-gaap_EquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equipment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquipmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquipmentMember" xlink:to="lab_us-gaap_EquipmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c2bb49a3-3e91-4ac3-8943-da402e1ecbbf_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_eaf2fb7a-683b-4a9a-918a-2c1f3dc80c1a_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units</link:label>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:to="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" order="1"/>
    <link:label id="lab_form_PerformanceRestrictedStockUnitsMember_84a7d20e-8710-4608-b315-a7f58f2f9263_verboseLabel_en-US" xlink:label="lab_form_PerformanceRestrictedStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance restricted stock units</link:label>
    <link:label id="lab_form_PerformanceRestrictedStockUnitsMember_label_en-US" xlink:label="lab_form_PerformanceRestrictedStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Restricted Stock Units [Member]</link:label>
    <link:label id="lab_form_PerformanceRestrictedStockUnitsMember_documentation_en-US" xlink:label="lab_form_PerformanceRestrictedStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Restricted Stock Units [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_PerformanceRestrictedStockUnitsMember" xlink:href="form-20230401.xsd#form_PerformanceRestrictedStockUnitsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_PerformanceRestrictedStockUnitsMember" xlink:to="lab_form_PerformanceRestrictedStockUnitsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_634b97ee-9413-4920-bef4-553360a7bb4d_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure_f3bd6fc1-e987-4d2c-98c5-4e4c973307a8_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:to="lab_us-gaap_CashAndCashEquivalentsFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_4e94e033-bdc3-41b5-8e0e-7080e9db788f_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock_bac1def1-0d14-4f4b-871a-9432c8dfe138_terseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Presentation and Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements Disclosure and Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_a16d6561-424d-4c10-95e9-78d2d111814b_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration risk percentage</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskPercentage1" xlink:to="lab_us-gaap_ConcentrationRiskPercentage1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_742a9231-e651-4cdc-8bd1-1926b7fc0576_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrealized gains (losses) on derivative instruments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_f6c3a350-6756-43c0-8956-cc57d694272a_periodStartLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at beginning of period</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_58d9d6cd-55a8-41e6-bb1e-970e468ef602_periodEndLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at end of period</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard and Extended Product Warranty Accrual</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrual" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrual" xlink:to="lab_us-gaap_ProductWarrantyAccrual" xlink:type="arc" order="1"/>
    <link:label id="lab_form_GrossMarginPercent_c9c990a0-c129-4f00-bde5-07761624090c_terseLabel_en-US" xlink:label="lab_form_GrossMarginPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross margin</link:label>
    <link:label id="lab_form_GrossMarginPercent_label_en-US" xlink:label="lab_form_GrossMarginPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Margin, Percent</link:label>
    <link:label id="lab_form_GrossMarginPercent_documentation_en-US" xlink:label="lab_form_GrossMarginPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Margin, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_GrossMarginPercent" xlink:href="form-20230401.xsd#form_GrossMarginPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_GrossMarginPercent" xlink:to="lab_form_GrossMarginPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_ff2662cf-3add-48e4-b868-363256a9cb33_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finished goods</link:label>
    <link:label id="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_label_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Finished Goods, Net of Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="lab_us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_3f151a12-2843-449d-a4bc-9626676558aa_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of intangible assets</link:label>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_064dc738-a0b3-40fd-adda-b57c241f8008_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill by Reportable Segments</link:label>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestPaidNet_d7e101c7-399d-48e0-a2d5-0def3b4c48dd_terseLabel_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for interest</link:label>
    <link:label id="lab_us-gaap_InterestPaidNet_label_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestPaidNet" xlink:to="lab_us-gaap_InterestPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_2a0008e2-0c1a-4334-980d-2fbb10832d27_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_e20f374f-1a95-43aa-9cb7-da05c9a637d9_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConstructionInProgressGross_6cee80ae-2d9c-4225-8733-1258097f27ee_terseLabel_en-US" xlink:label="lab_us-gaap_ConstructionInProgressGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Construction-in-process</link:label>
    <link:label id="lab_us-gaap_ConstructionInProgressGross_label_en-US" xlink:label="lab_us-gaap_ConstructionInProgressGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Construction in Progress, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConstructionInProgressGross" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConstructionInProgressGross" xlink:to="lab_us-gaap_ConstructionInProgressGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CorporateNonSegmentMember_fef34a7b-7150-43f4-a862-b12100236d65_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate, Non-Segment</link:label>
    <link:label id="lab_us-gaap_CorporateNonSegmentMember_label_en-US" xlink:label="lab_us-gaap_CorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate, Non-Segment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateNonSegmentMember" xlink:to="lab_us-gaap_CorporateNonSegmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskTypeDomain_cce29779-6dc5-4b60-bb38-e7c95deb4df7_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskTypeDomain_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain" xlink:to="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_6f4a1bd3-fb6f-417d-8c62-a2074d62991b_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_b67947c6-8233-442b-9c10-5e0af2143232_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_342394e0-9cac-42b3-af1a-6ac08c2b10bd_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_dd5262d7-fd3e-4d76-8016-aaf006f94154_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards canceled (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_form_DRAMProductGroupMember_6321a0a4-e809-48f6-a487-2421a69887c5_terseLabel_en-US" xlink:label="lab_form_DRAMProductGroupMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">DRAM</link:label>
    <link:label id="lab_form_DRAMProductGroupMember_label_en-US" xlink:label="lab_form_DRAMProductGroupMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">DRAM Product Group [Member]</link:label>
    <link:label id="lab_form_DRAMProductGroupMember_documentation_en-US" xlink:label="lab_form_DRAMProductGroupMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">DRAM Product Group [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_DRAMProductGroupMember" xlink:href="form-20230401.xsd#form_DRAMProductGroupMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_DRAMProductGroupMember" xlink:to="lab_form_DRAMProductGroupMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_74331c68-34f0-44cb-b12a-1c53dd2c082f_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByBalanceSheetGroupingTable_f6d0827b-da46-4137-8516-33dda2d4a521_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, by Balance Sheet Grouping [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueByBalanceSheetGroupingTable_label_en-US" xlink:label="lab_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, by Balance Sheet Grouping [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="lab_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_e997b869-f6fb-4ad8-983d-287ff52ea877_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Amortization</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_2d8fc19e-6a1e-4e31-8af6-cb2d39b00194_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Property, Plant and Equipment [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_46d7cfe7-011e-410e-b8fd-b090c59accb7_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in assets and liabilities:</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_7db02ac4-563d-461d-b797-c51a8691def7_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MoneyMarketFundsMember_0d95b433-c3d9-44ab-b50a-f335b8588185_terseLabel_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Money market funds</link:label>
    <link:label id="lab_us-gaap_MoneyMarketFundsMember_label_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Money Market Funds [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MoneyMarketFundsMember" xlink:to="lab_us-gaap_MoneyMarketFundsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_form_MajorCustomer2Member_f2071d96-9d1e-46ea-8191-2a3c3eea1e24_terseLabel_en-US" xlink:label="lab_form_MajorCustomer2Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Major Customer 2</link:label>
    <link:label id="lab_form_MajorCustomer2Member_label_en-US" xlink:label="lab_form_MajorCustomer2Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Major Customer 2 [Member]</link:label>
    <link:label id="lab_form_MajorCustomer2Member_documentation_en-US" xlink:label="lab_form_MajorCustomer2Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Major Customer 2</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_MajorCustomer2Member" xlink:href="form-20230401.xsd#form_MajorCustomer2Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_MajorCustomer2Member" xlink:to="lab_form_MajorCustomer2Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsMember_a636cc04-78c6-465f-8e0d-6fefaebe38d9_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Deficit</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingInformationLineItems_0d0b5244-49c6-4c56-bcda-fa3a013567e5_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Information [Line Items]</link:label>
    <link:label id="lab_us-gaap_SegmentReportingInformationLineItems_label_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Information [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems" xlink:to="lab_us-gaap_SegmentReportingInformationLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress_6dc30f02-7f09-4062-bd37-17b55991fc15_totalLabel_en-US" xlink:label="lab_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net, property, plant and equipment</link:label>
    <link:label id="lab_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress_label_en-US" xlink:label="lab_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property Plant And Equipment Net, Excludes Construction in Progress</link:label>
    <link:label id="lab_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress_documentation_en-US" xlink:label="lab_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property Plant And Equipment Net, Excludes Construction in Progress</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress" xlink:href="form-20230401.xsd#form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress" xlink:to="lab_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCost_fd0abbd0-5a6a-4899-bf78-a8918ab0c2bd_totalLabel_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total lease expense</link:label>
    <link:label id="lab_us-gaap_LeaseCost_label_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCost" xlink:to="lab_us-gaap_LeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockMember_cd169b46-d70d-4fe3-ae59-13a2bf9835f0_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_label_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_bfba1191-e292-4ef0-97a1-a089df82df19_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stock-based Compensation</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_2192b416-cdd6-4677-be08-dca1d74f9470_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of reportable segments</link:label>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_label_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfReportableSegments" xlink:to="lab_us-gaap_NumberOfReportableSegments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_e9aa46c4-1c69-414f-9d52-f0e7bc3fc3b2_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Components of Lease Expense</link:label>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCostTableTextBlock" xlink:to="lab_us-gaap_LeaseCostTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_51ebc9a0-83e5-44ba-9c5d-f02606dfb23e_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase of common stock through stock repurchase program</link:label>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_label_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Repurchase of Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementClassOfStockAxis_c8d29c9a-ad91-4843-b819-3fcc517be6a9_terseLabel_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementClassOfStockAxis_label_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementClassOfStockAxis" xlink:to="lab_us-gaap_StatementClassOfStockAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementTable_fe0084c2-913e-4651-8f02-7626cb021795_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_label_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_6370b348-6fe1-46d5-95e0-25dd4f9aa1ec_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards vested (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseRenewalTerm_9f2fdced-b2d3-4bd0-9190-a3457a8b3870_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, renewal term</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseRenewalTerm_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Renewal Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:to="lab_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentQuarterlyReport_07ac3be3-4270-4039-bd5d-ba67b0b79267_terseLabel_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:label id="lab_dei_DocumentQuarterlyReport_label_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentQuarterlyReport" xlink:to="lab_dei_DocumentQuarterlyReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_4cc54f45-72e3-44ac-8de2-0de76f0f38e9_terseLabel_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Furniture and fixtures</link:label>
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_label_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Furniture and Fixtures [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FurnitureAndFixturesMember" xlink:to="lab_us-gaap_FurnitureAndFixturesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_3c531219-4ad5-47b1-bc75-66d9d6b0167d_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current assets:</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_bb625785-5d79-47fe-b3d0-30332a370f22_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_235df4e3-4bd6-4c13-860d-b30767a04385_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total long-term operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeAxis_9b8db6fa-7165-4483-8baf-4f95e65a657c_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:label id="lab_srt_RangeAxis_label_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_1974599a-b2a2-4d76-bce3-46ee6e1c424e_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold improvements</link:label>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_label_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseholdImprovementsMember" xlink:to="lab_us-gaap_LeaseholdImprovementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_fe569fdd-aa6a-4a72-8ddb-e79eb81a0616_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated deficit</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherOperatingActivitiesCashFlowStatement_001a0a4e-6d64-4008-ba04-63af209958d0_terseLabel_en-US" xlink:label="lab_us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other adjustments to reconcile net income to net cash provided by operating activities</link:label>
    <link:label id="lab_us-gaap_OtherOperatingActivitiesCashFlowStatement_label_en-US" xlink:label="lab_us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Operating Activities, Cash Flow Statement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:to="lab_us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_6fe44320-37de-49cc-9199-171a0ec32a6a_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable, net of allowance for credit losses of $169 and $168</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e001d0f0-1250-4c16-9a9b-20d8449992e8_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite Lived Intangible Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireMarketableSecurities_b2a5d962-1a1a-46d8-b125-d67c12b44701_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of marketable securities</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireMarketableSecurities_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Marketable Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireMarketableSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:to="lab_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_33f8dfcf-340b-4c6a-962a-81ee82987716_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_7e63e363-eb30-4ef2-ba5d-3649240f5ee6_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average per share purchase price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis_5a5f5de6-d1f6-4e1c-952d-0e03e302244e_terseLabel_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Axis]</link:label>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis_label_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_form_CustomersRepresenting10OrMoreOfTotalRevenuesMember_4edb4db6-f074-4ed4-b6af-c2a2170251b0_terseLabel_en-US" xlink:label="lab_form_CustomersRepresenting10OrMoreOfTotalRevenuesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customers Representing 10% or More of Total Revenues</link:label>
    <link:label id="lab_form_CustomersRepresenting10OrMoreOfTotalRevenuesMember_label_en-US" xlink:label="lab_form_CustomersRepresenting10OrMoreOfTotalRevenuesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customers Representing 10% or More of Total Revenues [Member]</link:label>
    <link:label id="lab_form_CustomersRepresenting10OrMoreOfTotalRevenuesMember_documentation_en-US" xlink:label="lab_form_CustomersRepresenting10OrMoreOfTotalRevenuesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customers Representing 10% or More of Total Revenues</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_CustomersRepresenting10OrMoreOfTotalRevenuesMember" xlink:href="form-20230401.xsd#form_CustomersRepresenting10OrMoreOfTotalRevenuesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_CustomersRepresenting10OrMoreOfTotalRevenuesMember" xlink:to="lab_form_CustomersRepresenting10OrMoreOfTotalRevenuesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalYearFocus_4be46a9d-9702-4039-bdbb-0b456917c481_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_3552a809-68dc-4edf-81f5-56abf6fd3989_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Amortization Expense</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_2f51d773-9191-4b73-ba71-ef053a83a5b9_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_label_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_b4af65df-3079-4217-9996-0c63cc3b4d2b_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_47349729-8504-4077-b0dd-8fab82bd8cbd_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_d4ec3d8c-c0f4-4ca5-9325-9026b323773b_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_9ed36448-992d-4bd0-a806-054ebcbf3b8e_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_7808e8c8-6aca-4045-831c-6538367b3494_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_8fb119a8-3601-4bb2-8b85-52a522e51123_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, general and administrative</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_85e406ae-5f6b-4665-ab52-559f3b72e40c_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, right-of-use-assets</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_USTreasuryBillSecuritiesMember_a8ad51e0-f07c-40eb-bd46-93eddd05ce99_terseLabel_en-US" xlink:label="lab_us-gaap_USTreasuryBillSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. treasuries</link:label>
    <link:label id="lab_us-gaap_USTreasuryBillSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_USTreasuryBillSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">US Treasury Bill Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasuryBillSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USTreasuryBillSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USTreasuryBillSecuritiesMember" xlink:to="lab_us-gaap_USTreasuryBillSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_64489327-1f8f-4e8d-a308-e39fd726fbdd_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss)</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock_5aa0f42e-e9b9-4f54-9933-7871e5e27ac9_terseLabel_en-US" xlink:label="lab_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average per share discount from the fair value of our common stock on the date of issuance (in dollars per share)</link:label>
    <link:label id="lab_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock_label_en-US" xlink:label="lab_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Per Share Discount From Fair Value From Date Of Issuance, Common Stock</link:label>
    <link:label id="lab_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock_documentation_en-US" xlink:label="lab_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Per Share Discount From Fair Value From Date Of Issuance, Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock" xlink:href="form-20230401.xsd#form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock" xlink:to="lab_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseExpense_2e5de0ac-abd5-41b5-862d-d30ba1b17bdf_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease expense</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseExpense_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseExpense" xlink:to="lab_us-gaap_OperatingLeaseExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TypeOfRestructuringDomain_273b5882-7e63-47fe-893b-0cd161ac3dda_terseLabel_en-US" xlink:label="lab_us-gaap_TypeOfRestructuringDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Type of Restructuring [Domain]</link:label>
    <link:label id="lab_us-gaap_TypeOfRestructuringDomain_label_en-US" xlink:label="lab_us-gaap_TypeOfRestructuringDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Type of Restructuring [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TypeOfRestructuringDomain" xlink:to="lab_us-gaap_TypeOfRestructuringDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_8f64886b-46c7-4f39-a73c-c0980fa791d7_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:label id="lab_dei_DocumentTransitionReport_label_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_8f7f85d4-a64f-48b5-8455-ec9fab01fefd_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_14e8f633-6fbb-4092-8b2a-242a78575f32_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating income</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_e64cc16d-f80d-45ca-8690-7059ea6fcb87_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories" xlink:type="arc" order="1"/>
    <link:label id="lab_currency_KRW_7577f7ae-a5d1-47f7-b81a-51bc5e569716_terseLabel_en-US" xlink:label="lab_currency_KRW" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Korean Won</link:label>
    <link:label id="lab_currency_KRW_label_en-US" xlink:label="lab_currency_KRW" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Korea (South), Won</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_currency_KRW" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_KRW"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_KRW" xlink:to="lab_currency_KRW" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_c03d04af-3057-4836-8176-78187032681d_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PositionDomain_428cb00e-99b7-4f4c-882b-4f5f2df11827_terseLabel_en-US" xlink:label="lab_us-gaap_PositionDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Position [Domain]</link:label>
    <link:label id="lab_us-gaap_PositionDomain_label_en-US" xlink:label="lab_us-gaap_PositionDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Position [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PositionDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PositionDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PositionDomain" xlink:to="lab_us-gaap_PositionDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_7b6b9c9a-fb29-44e1-b6af-6c1e850d430c_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_e4ded735-5390-4eda-929c-1833edc9b3f8_periodStartLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_608ee41f-baa4-4d4e-9735-a1f0ff6e9b25_periodEndLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Goodwill_984ad350-5ba9-479f-8e79-3311fb969dc8_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_Goodwill_2d2a9535-e83b-40fc-b130-42e9c11cb907_periodStartLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, beginning balance</link:label>
    <link:label id="lab_us-gaap_Goodwill_74c5223c-c7f5-45a2-b4c0-3f7c4148db8d_periodEndLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, ending balance</link:label>
    <link:label id="lab_us-gaap_Goodwill_label_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill" xlink:to="lab_us-gaap_Goodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_3c6a816d-7f6c-4aed-b743-455252b504cf_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesFairValueDisclosure_ebb48a47-82eb-46a8-a22b-bab051c27a17_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueDisclosure" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesFairValueDisclosure_f8681c49-5f52-4fc3-8894-ee649b6e2a45_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities measured at fair value on non-recurring basis</link:label>
    <link:label id="lab_us-gaap_LiabilitiesFairValueDisclosure_label_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueDisclosure" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Fair Value Disclosure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosure" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesFairValueDisclosure"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosure" xlink:to="lab_us-gaap_LiabilitiesFairValueDisclosure" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_21497df1-1c26-46cb-afd1-7bbc7962f4cf_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_SegmentGeographicalDomain_f097461d-138d-412d-a6d7-c32b2b39232f_terseLabel_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:label id="lab_srt_SegmentGeographicalDomain_label_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_SegmentGeographicalDomain" xlink:to="lab_srt_SegmentGeographicalDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_f4dbfb4c-28e4-4c83-833f-0cea7fbc542f_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc" order="1"/>
    <link:label id="lab_form_IntelMember_e786f977-e971-4731-ac73-3643c7f4f7de_terseLabel_en-US" xlink:label="lab_form_IntelMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intel Corporation</link:label>
    <link:label id="lab_form_IntelMember_label_en-US" xlink:label="lab_form_IntelMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intel [Member]</link:label>
    <link:label id="lab_form_IntelMember_documentation_en-US" xlink:label="lab_form_IntelMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intel [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_IntelMember" xlink:href="form-20230401.xsd#form_IntelMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_IntelMember" xlink:to="lab_form_IntelMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_583d7058-fba1-4380-8725-ce3420db9060_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Reconciliation of Changes in Warranty Liability</link:label>
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_11fdf541-5466-4898-8dad-a7f9e6327c75_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_691194d1-8fcb-4afa-91b1-d29e5f091371_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_8af6d0b8-7ab7-446e-871f-c84175fec2e1_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_0212656c-2e2c-45d4-973d-5f4447f0578f_terseLabel_en-US" xlink:label="lab_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_label_en-US" xlink:label="lab_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, after Year Four</link:label>
    <link:label id="lab_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_documentation_en-US" xlink:label="lab_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, after Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:href="form-20230401.xsd#form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:to="lab_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_5dc4df5d-7914-4957-9537-6be9c7fc939e_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashNoncurrent_4c35e019-4942-4ea5-bdbc-f7b1d1c19a51_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted cash, non-current</link:label>
    <link:label id="lab_us-gaap_RestrictedCashNoncurrent_label_en-US" xlink:label="lab_us-gaap_RestrictedCashNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashNoncurrent" xlink:to="lab_us-gaap_RestrictedCashNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_755cbf1d-b7dd-48a3-b795-2c13eca2f763_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of revenues</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Goods and Services Sold</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeLineItems_14c9dc1d-5298-41c9-bef0-68bf5897eb7c_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativeLineItems_label_en-US" xlink:label="lab_us-gaap_DerivativeLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLineItems" xlink:to="lab_us-gaap_DerivativeLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_7fe09a07-a69a-4ced-aaa1-e8daf172d42c_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_6c6d0335-214e-4e7e-b9c5-f2516dc7ea70_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average shares used in computing diluted net income per share (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_28266a8b-3bb1-4db4-aa66-a56448b7eb7e_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: Accumulated depreciation and amortization</link:label>
    <link:label id="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeLiabilities_822bb329-8866-4f02-973e-48890f13f146_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative liability</link:label>
    <link:label id="lab_us-gaap_DerivativeLiabilities_label_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilities" xlink:to="lab_us-gaap_DerivativeLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskDisclosureTextBlock_a699916d-7846-496a-927c-433e7455a9a8_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration of Credit and Other Risks</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:to="lab_us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_b01e5328-55f7-40e0-93e7-ee512e6c2c0a_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Inventory Components</link:label>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_form_FoundryLogicProductGroupMember_2904cb99-2cfa-418f-8e8f-219c18eb39b7_terseLabel_en-US" xlink:label="lab_form_FoundryLogicProductGroupMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foundry &amp; Logic</link:label>
    <link:label id="lab_form_FoundryLogicProductGroupMember_label_en-US" xlink:label="lab_form_FoundryLogicProductGroupMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foundry &amp; Logic Product Group [Member]</link:label>
    <link:label id="lab_form_FoundryLogicProductGroupMember_documentation_en-US" xlink:label="lab_form_FoundryLogicProductGroupMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foundry &amp; Logic Product Group [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_FoundryLogicProductGroupMember" xlink:href="form-20230401.xsd#form_FoundryLogicProductGroupMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_FoundryLogicProductGroupMember" xlink:to="lab_form_FoundryLogicProductGroupMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BuildingAndBuildingImprovementsMember_f9f823d9-a844-4784-b21e-6c443af59a60_terseLabel_en-US" xlink:label="lab_us-gaap_BuildingAndBuildingImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Building and building improvements</link:label>
    <link:label id="lab_us-gaap_BuildingAndBuildingImprovementsMember_label_en-US" xlink:label="lab_us-gaap_BuildingAndBuildingImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Building and Building Improvements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingAndBuildingImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingAndBuildingImprovementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="lab_us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableMember_690aa54e-5f1d-4f2a-a682-435f98c84739_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableMember_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableMember" xlink:to="lab_us-gaap_AccountsReceivableMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MarketableSecurities_4008b41a-2604-42a7-a013-c7e750893eea_terseLabel_en-US" xlink:label="lab_us-gaap_MarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Marketable securities</link:label>
    <link:label id="lab_us-gaap_MarketableSecurities_label_en-US" xlink:label="lab_us-gaap_MarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Marketable Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MarketableSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MarketableSecurities" xlink:to="lab_us-gaap_MarketableSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockValue_4bf0d82c-4572-487b-b104-5c679ed30d60_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, $0.001 par value</link:label>
    <link:label id="lab_us-gaap_CommonStockValue_label_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValue" xlink:to="lab_us-gaap_CommonStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_2766f3aa-9bc5-4bc2-bde0-7a169c2e326e_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_958ca437-e607-4cdb-9a92-483d73d233a4_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accruals</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard and Extended Product Warranty Accrual, Increase for Warranties Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:to="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_ed1aa3ac-ccc1-4e51-884c-f075ed23d3e0_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards granted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_f4c68fc8-7bfe-426f-80a0-83c028431e92_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Fair Value Assets Measured on Recurring Basis</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingSegmentsMember_c966a23d-edaf-4c12-bdab-56f3b9e567c6_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingSegmentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating segments</link:label>
    <link:label id="lab_us-gaap_OperatingSegmentsMember_label_en-US" xlink:label="lab_us-gaap_OperatingSegmentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Segments [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingSegmentsMember" xlink:to="lab_us-gaap_OperatingSegmentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShortTermLeaseCost_cd89b56d-e965-4b05-9d24-02121a32dfdf_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term lease expense</link:label>
    <link:label id="lab_us-gaap_ShortTermLeaseCost_label_en-US" xlink:label="lab_us-gaap_ShortTermLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-Term Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermLeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermLeaseCost" xlink:to="lab_us-gaap_ShortTermLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyDisclosureTextBlock_054cdde1-11fa-4b7b-9ea2-d0eea433adbe_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warranty</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:to="lab_us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_form_FlashProductGroupMember_2182151a-e458-48e4-8736-77ade13f4bed_terseLabel_en-US" xlink:label="lab_form_FlashProductGroupMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Flash</link:label>
    <link:label id="lab_form_FlashProductGroupMember_label_en-US" xlink:label="lab_form_FlashProductGroupMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Flash Product Group [Member]</link:label>
    <link:label id="lab_form_FlashProductGroupMember_documentation_en-US" xlink:label="lab_form_FlashProductGroupMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Flash Product Group [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_FlashProductGroupMember" xlink:href="form-20230401.xsd#form_FlashProductGroupMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_FlashProductGroupMember" xlink:to="lab_form_FlashProductGroupMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_9a2b6097-fc9a-4e45-a983-5d4d89195edd_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, cash equivalents and restricted cash, beginning of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_e7ddc9dc-174d-46cf-8790-699c20e64cca_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, cash equivalents and restricted cash, end of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_10292437-172f-439b-8939-bf93599efc1f_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total cash, cash equivalents and restricted cash</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_7d4b71d5-4c6d-4c40-8dc1-52e80c71c53d_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Translation adjustments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_830d2daa-0ecf-419d-89eb-7266073dd54c_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_347d1b84-7541-4da9-9419-ab9db112f8cb_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_c12078c5-e8dd-42e6-b214-d121acc8eaa5_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignExchangeForwardMember_64ed53bc-ef72-4451-ab13-9b8a08289384_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignExchangeForwardMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Exchange Forward</link:label>
    <link:label id="lab_us-gaap_ForeignExchangeForwardMember_label_en-US" xlink:label="lab_us-gaap_ForeignExchangeForwardMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Exchange Forward [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignExchangeForwardMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeForwardMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignExchangeForwardMember" xlink:to="lab_us-gaap_ForeignExchangeForwardMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_07695b2a-e36e-45cf-bfd8-8c1721d896be_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskLineItems_c7e7f8b8-e3ce-402a-ae38-21e4ad3e25a3_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Line Items]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskLineItems_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskLineItems" xlink:to="lab_us-gaap_ConcentrationRiskLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TransferredOverTimeMember_577e83a4-1c5b-41a6-a20f-54d45b1f0ff2_terseLabel_en-US" xlink:label="lab_us-gaap_TransferredOverTimeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Products and services transferred over time</link:label>
    <link:label id="lab_us-gaap_TransferredOverTimeMember_label_en-US" xlink:label="lab_us-gaap_TransferredOverTimeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Transferred over Time [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TransferredOverTimeMember" xlink:to="lab_us-gaap_TransferredOverTimeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_fdc9f757-a928-4440-8607-51265ae2f0b4_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain" xlink:to="lab_us-gaap_IncomeStatementLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_de913ba4-498d-43aa-8c32-3af5dc10d949_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_f66ec5b8-f0c4-46a4-97e5-64ba00061927_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_e8f09afa-222c-43e9-860c-db9c5b462c68_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash used in investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_country_KR_a198eb77-1dc8-4310-864d-1df48fb71148_terseLabel_en-US" xlink:label="lab_country_KR" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">South Korea</link:label>
    <link:label id="lab_country_KR_label_en-US" xlink:label="lab_country_KR" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">KOREA, REPUBLIC OF</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_KR" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KR"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_KR" xlink:to="lab_country_KR" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax_0704c062-40db-421c-8734-a249fe438245_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income (loss), net of tax:</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax_d125b349-e472-44f0-aea3-3fa526ef8a52_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income (loss)</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_6c778388-5650-477e-bf21-e2433855f19b_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock under the Employee Stock Purchase Plan</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Employee Stock Purchase Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CorporateAndOtherMember_2a3ef745-2943-43b6-a6fe-8bc2787d4cec_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateAndOtherMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate and Other</link:label>
    <link:label id="lab_us-gaap_CorporateAndOtherMember_label_en-US" xlink:label="lab_us-gaap_CorporateAndOtherMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate and Other [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateAndOtherMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateAndOtherMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateAndOtherMember" xlink:to="lab_us-gaap_CorporateAndOtherMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_d7a1542b-643c-4793-a922-8aba91ac0805_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive income</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAcquiredDuringPeriod_f17a8092-63f1-4e1d-9307-211d324700fa_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, acquired during period</link:label>
    <link:label id="lab_us-gaap_GoodwillAcquiredDuringPeriod_label_en-US" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Acquired During Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_5cbb4d8f-6068-463d-a04e-200422294b44_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from issuances of common stock</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds, Issuance of Shares, Share-Based Payment Arrangement, Including Option Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_f456554a-7e0e-4506-b9f5-13f063329a4f_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Operating Results by Segment</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_8fc8b4b0-f102-4241-a0d9-29b138f3b5f5_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_6d8609ce-62e6-421d-afca-a41596cbb6fb_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_48f52eea-7997-4548-929a-537af1c5abd1_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent" xlink:to="lab_us-gaap_OtherAssetsNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForRestructuring_805c569c-f687-4948-8607-32a726cc4d50_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRestructuring" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash payments</link:label>
    <link:label id="lab_us-gaap_PaymentsForRestructuring_label_en-US" xlink:label="lab_us-gaap_PaymentsForRestructuring" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Restructuring</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRestructuring" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRestructuring"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRestructuring" xlink:to="lab_us-gaap_PaymentsForRestructuring" xlink:type="arc" order="1"/>
    <link:label id="lab_form_SystemsProductGroupMember_b87b87b3-d68a-40ba-a0c8-76adbce4e26b_terseLabel_en-US" xlink:label="lab_form_SystemsProductGroupMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Systems</link:label>
    <link:label id="lab_form_SystemsProductGroupMember_label_en-US" xlink:label="lab_form_SystemsProductGroupMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Systems Product Group [Member]</link:label>
    <link:label id="lab_form_SystemsProductGroupMember_documentation_en-US" xlink:label="lab_form_SystemsProductGroupMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Systems Product Group [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_SystemsProductGroupMember" xlink:href="form-20230401.xsd#form_SystemsProductGroupMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_SystemsProductGroupMember" xlink:to="lab_form_SystemsProductGroupMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_c1d54e3f-9fb8-427b-9722-156744a2fdab_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable" xlink:to="lab_us-gaap_DisaggregationOfRevenueTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeSeveranceMember_b4f35c72-8aa0-4691-b2cf-9a69a620c986_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeSeveranceMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Severance and Benefits</link:label>
    <link:label id="lab_us-gaap_EmployeeSeveranceMember_label_en-US" xlink:label="lab_us-gaap_EmployeeSeveranceMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Severance [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeSeveranceMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeSeveranceMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeSeveranceMember" xlink:to="lab_us-gaap_EmployeeSeveranceMember" xlink:type="arc" order="1"/>
    <link:label id="lab_country_JP_937e7936-a2dc-43aa-9815-2af74485c6a7_terseLabel_en-US" xlink:label="lab_country_JP" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Japan</link:label>
    <link:label id="lab_country_JP_label_en-US" xlink:label="lab_country_JP" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">JAPAN</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_JP" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_JP" xlink:to="lab_country_JP" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseTermOfContract_59a314fd-bede-4212-a56a-1a7ef8b6e543_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, term of contract</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseTermOfContract_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Term of Contract</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_ba66e3ac-1f75-4f77-992b-9f5aa79257cc_verboseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock under the Employee Stock Purchase Plan (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_abb0cd54-0911-4ec7-84ef-75794034dffd_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Employee Stock Purchase Plans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeTable_e6b28a6b-a5e6-4a0f-919c-e726eb62b8cc_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative [Table]</link:label>
    <link:label id="lab_us-gaap_DerivativeTable_label_en-US" xlink:label="lab_us-gaap_DerivativeTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeTable" xlink:to="lab_us-gaap_DerivativeTable" xlink:type="arc" order="1"/>
    <link:label id="lab_form_October2020StockRepurchaseProgramMember_5c2e96c0-352a-46b4-9d3d-0f5dff64914c_terseLabel_en-US" xlink:label="lab_form_October2020StockRepurchaseProgramMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">October 2020 Stock Repurchase Program</link:label>
    <link:label id="lab_form_October2020StockRepurchaseProgramMember_label_en-US" xlink:label="lab_form_October2020StockRepurchaseProgramMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">October 2020 Stock Repurchase Program [Member]</link:label>
    <link:label id="lab_form_October2020StockRepurchaseProgramMember_documentation_en-US" xlink:label="lab_form_October2020StockRepurchaseProgramMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">October 2020 Stock Repurchase Program</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_October2020StockRepurchaseProgramMember" xlink:href="form-20230401.xsd#form_October2020StockRepurchaseProgramMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_October2020StockRepurchaseProgramMember" xlink:to="lab_form_October2020StockRepurchaseProgramMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_81d13321-4e6d-4c46-b971-fa88477ae2db_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_8a5deab5-9074-4abc-b1a5-5d0933807dd2_terseLabel_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Presentation</link:label>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Accounting, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_62a13357-5281-44c1-96d1-7daa5c92cd6c_terseLabel_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effect of exchange rate changes on cash, cash equivalents and restricted cash</link:label>
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_d64db828-e85e-4132-8e1b-0f723728619e_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, plant and equipment, net of accumulated depreciation</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_d8752526-63f7-4c6f-a55a-bc3339ca5ac0_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_CurrencyAxis_2ba13ffd-591d-40ed-a2a7-854e7b802144_terseLabel_en-US" xlink:label="lab_srt_CurrencyAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Currency [Axis]</link:label>
    <link:label id="lab_srt_CurrencyAxis_label_en-US" xlink:label="lab_srt_CurrencyAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Currency [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CurrencyAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CurrencyAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_CurrencyAxis" xlink:to="lab_srt_CurrencyAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeasePayments_7abc8bc0-345b-4d89-a3ac-88b31feadeba_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating cash outflows from operating leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeasePayments_label_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasePayments" xlink:to="lab_us-gaap_OperatingLeasePayments" xlink:type="arc" order="1"/>
    <link:label id="lab_form_StockBasedCompensationMember_8aaa2c86-69b9-4f2e-8b2d-2113e0e82ced_terseLabel_en-US" xlink:label="lab_form_StockBasedCompensationMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based Compensation</link:label>
    <link:label id="lab_form_StockBasedCompensationMember_label_en-US" xlink:label="lab_form_StockBasedCompensationMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based Compensation [Member]</link:label>
    <link:label id="lab_form_StockBasedCompensationMember_documentation_en-US" xlink:label="lab_form_StockBasedCompensationMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based Compensation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_StockBasedCompensationMember" xlink:href="form-20230401.xsd#form_StockBasedCompensationMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_StockBasedCompensationMember" xlink:to="lab_form_StockBasedCompensationMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RepaymentsOfLongTermDebt_e8492e10-efe7-422b-83d6-c9661b40e333_negatedLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Principal repayments on term loans</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfLongTermDebt_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of Long-Term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfLongTermDebt" xlink:to="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_09a414e6-1678-44a5-a7ae-bb2668fdc561_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Estimated Amortization of Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_0586b862-f49d-42e1-bf8d-b25a169bda07_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for doubtful accounts</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_67db9f43-4a27-48c6-9a95-08439756d9b5_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock pursuant to exercise of options</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_3ebb3c47-4c91-4174-951a-bd13322cd6d5_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards canceled (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_db82c511-4564-4c31-a3e6-d382cfa0cf32_terseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other income, net</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Nonoperating Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_02efcd1e-68a1-406b-b566-9a5038d7e4d8_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Charges</link:label>
    <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring and Related Activities Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:to="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_4d8e3539-727f-442c-a099-5a5b103494a2_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_c992f2a1-33a1-478d-9460-e2b8b68c9f48_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpenses_4cb3fb68-5b14-414f-873b-3892946f5651_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total operating expenses</link:label>
    <link:label id="lab_us-gaap_OperatingExpenses_label_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expenses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpenses" xlink:to="lab_us-gaap_OperatingExpenses" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MaximumMember_72160f14-a988-4f09-9442-d5073ea98839_terseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum</link:label>
    <link:label id="lab_srt_MaximumMember_label_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_124a5d36-4a05-4856-bcec-c175668a1d37_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShortMember_3ecdca78-1f26-44ab-8b78-74cf09af469d_terseLabel_en-US" xlink:label="lab_us-gaap_ShortMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sell</link:label>
    <link:label id="lab_us-gaap_ShortMember_label_en-US" xlink:label="lab_us-gaap_ShortMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortMember" xlink:to="lab_us-gaap_ShortMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross_61bae643-4a62-48bc-a728-671ce3fdc924_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock pursuant to exercise of options (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares Issued, Shares, Share-Based Payment Arrangement, before Forfeiture</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_03bf270c-d0d3-4908-b545-28055f755e34_negatedLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase and retirement of common stock through repurchase program</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_d0f0e75e-b0cc-4390-89a1-28e0081430b9_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase of common stock value retired through repurchase program</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchased and Retired During Period, Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:to="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_269db552-88f6-4111-8b47-966b40e0cd29_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted cash</link:label>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash and Cash Equivalents, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_de8fdc13-56a7-4a33-a850-0fbc51824071_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiscalPeriod_ad11c643-0c5e-427d-86c1-934d1358ef0a_terseLabel_en-US" xlink:label="lab_us-gaap_FiscalPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fiscal Year</link:label>
    <link:label id="lab_us-gaap_FiscalPeriod_label_en-US" xlink:label="lab_us-gaap_FiscalPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fiscal Period, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiscalPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiscalPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiscalPeriod" xlink:to="lab_us-gaap_FiscalPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrent_0ce540ce-0c0e-400e-ab54-86e10e23a7b1_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DesignatedAsHedgingInstrumentMember_5ffb8169-b436-4839-8652-b7646b6fd00b_terseLabel_en-US" xlink:label="lab_us-gaap_DesignatedAsHedgingInstrumentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Designated as hedging instrument</link:label>
    <link:label id="lab_us-gaap_DesignatedAsHedgingInstrumentMember_label_en-US" xlink:label="lab_us-gaap_DesignatedAsHedgingInstrumentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Designated as Hedging Instrument [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DesignatedAsHedgingInstrumentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DesignatedAsHedgingInstrumentMember" xlink:to="lab_us-gaap_DesignatedAsHedgingInstrumentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_10de49d3-7588-4f68-9cf5-efc0d4cba36e_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for income taxes, net</link:label>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_label_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Paid, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaidNet" xlink:to="lab_us-gaap_IncomeTaxesPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_0f7d62e5-ca8e-46b2-90fb-f606904f38de_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue recognized included in contracts</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Revenue Recognized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntitySmallBusiness_0929be7c-dd95-4205-8e4f-0169693376c9_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:label id="lab_dei_EntitySmallBusiness_label_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_1e36281f-823f-4ecd-932c-51af5ba576e0_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_1f5d1bc3-a6c8-4bf7-aee2-bc78369fe42a_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders&#8217; Equity and Stock-Based Compensation</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_7cd8deab-912e-4761-8854-e7085a7c7a64_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reduction in the carrying amount of right-of-use assets</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset, Amortization Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_16b71604-7c08-49cf-9d36-4d6de4fd12e0_totalLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_754a1b38-aa3b-4638-bbc4-4ae2ec3556b1_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, remaining performance obligation, expected timing of satisfaction, period</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_d6fcc6cf-d18d-4025-a759-416ecf8e7ef6_terseLabel_en-US" xlink:label="lab_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Customer Percentage of Revenue</link:label>
    <link:label id="lab_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_label_en-US" xlink:label="lab_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedules of Concentration of Risk, by Risk Factor [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:to="lab_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_0631228d-21a1-46d8-992a-31421a0e85ce_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_4fdc46bf-9cf3-4053-be8d-52f170222e47_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase of common stock retired through repurchase program (in shares)</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchased and Retired During Period, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:to="lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_97d3abe9-9171-4201-91ef-84e5f5aab01a_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongMember_ba57eaca-7476-4650-9059-29de79144e72_terseLabel_en-US" xlink:label="lab_us-gaap_LongMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Buy</link:label>
    <link:label id="lab_us-gaap_LongMember_label_en-US" xlink:label="lab_us-gaap_LongMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongMember" xlink:to="lab_us-gaap_LongMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_28fb1344-4778-49cc-81e8-9c82d8313c15_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_bc443e8c-368c-434f-8711-ed155de699ea_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_country_MY_2797221c-2d3e-40ba-b7fb-e440716b6421_terseLabel_en-US" xlink:label="lab_country_MY" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Malaysia</link:label>
    <link:label id="lab_country_MY_label_en-US" xlink:label="lab_country_MY" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MALAYSIA</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_MY" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_MY"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_MY" xlink:to="lab_country_MY" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PayablesAndAccrualsAbstract_b16455d6-0cb9-4172-b21f-9a76260457e0_terseLabel_en-US" xlink:label="lab_us-gaap_PayablesAndAccrualsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payables and Accruals [Abstract]</link:label>
    <link:label id="lab_us-gaap_PayablesAndAccrualsAbstract_label_en-US" xlink:label="lab_us-gaap_PayablesAndAccrualsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payables and Accruals [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PayablesAndAccrualsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract" xlink:to="lab_us-gaap_PayablesAndAccrualsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_form_TaiwanSemiconductorManufacturingCoLTDMember_07a565fa-c8e8-484b-96ee-b547ee884f9e_terseLabel_en-US" xlink:label="lab_form_TaiwanSemiconductorManufacturingCoLTDMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taiwan Semiconductor Manufacturing Co., LTD.</link:label>
    <link:label id="lab_form_TaiwanSemiconductorManufacturingCoLTDMember_label_en-US" xlink:label="lab_form_TaiwanSemiconductorManufacturingCoLTDMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taiwan Semiconductor Manufacturing Co., LTD [Member]</link:label>
    <link:label id="lab_form_TaiwanSemiconductorManufacturingCoLTDMember_documentation_en-US" xlink:label="lab_form_TaiwanSemiconductorManufacturingCoLTDMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taiwan Semiconductor Manufacturing Co., LTD</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_TaiwanSemiconductorManufacturingCoLTDMember" xlink:href="form-20230401.xsd#form_TaiwanSemiconductorManufacturingCoLTDMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_TaiwanSemiconductorManufacturingCoLTDMember" xlink:to="lab_form_TaiwanSemiconductorManufacturingCoLTDMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_193f534f-704c-48b9-b3bd-04e13d1daf9d_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Present value of net minimum lease payments</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_ac53a3b4-08b4-4ee1-a157-19a94a031c78_terseLabel_en-US" xlink:label="lab_us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. agency securities</link:label>
    <link:label id="lab_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">US Government Agencies Debt Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:to="lab_us-gaap_USGovernmentAgenciesDebtSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_60ce62e1-cf49-4973-986f-79a0ec93c65a_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Segments and Enterprise-Wide Information</link:label>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_32729e8c-eff7-46b8-ba02-160fa4806df3_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, general and administrative</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expenses [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_form_RestOfTheWorldMember_887078ed-c8a1-47df-8f08-db1b7085b0bd_terseLabel_en-US" xlink:label="lab_form_RestOfTheWorldMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rest of the world</link:label>
    <link:label id="lab_form_RestOfTheWorldMember_label_en-US" xlink:label="lab_form_RestOfTheWorldMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rest Of The World [Member]</link:label>
    <link:label id="lab_form_RestOfTheWorldMember_documentation_en-US" xlink:label="lab_form_RestOfTheWorldMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rest Of The World [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_RestOfTheWorldMember" xlink:href="form-20230401.xsd#form_RestOfTheWorldMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_RestOfTheWorldMember" xlink:to="lab_form_RestOfTheWorldMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_adf7d6e5-d702-4944-82d3-ebceda3b37e0_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_5e93b085-3e41-4887-97a5-ce4a0474367f_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">LIABILITIES AND STOCKHOLDERS&#8217; EQUITY</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_f4948ead-c5d4-4cb2-b578-54da2d2e98b8_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring and Nonrecurring [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring and Nonrecurring [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_46c65297-0037-4974-8087-36d172db2f7b_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average number of shares used in per share calculations:</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_31392121-6d3d-4ee4-a710-b2cab34af9ba_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of ESPP Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Compensation, Employee Stock Purchase Plan, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryNet_5ba0e4c3-d857-45bc-ba7e-1ca442690133_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories, net</link:label>
    <link:label id="lab_us-gaap_InventoryNet_ca469909-499f-4f01-9e42-eddd5116d13a_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryNet_label_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet" xlink:to="lab_us-gaap_InventoryNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_8e4d1444-9212-4f4d-b00d-ddebf341628f_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringCharges_82b3cfc5-f376-469d-96df-6c0dd3399183_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCharges" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring charges</link:label>
    <link:label id="lab_us-gaap_RestructuringCharges_label_en-US" xlink:label="lab_us-gaap_RestructuringCharges" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Charges</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCharges"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCharges" xlink:to="lab_us-gaap_RestructuringCharges" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets_0ca41756-0c48-4a5b-ad3b-b412da72aad8_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Operating Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_HedgingDesignationAxis_c0dc6546-36d1-4701-aba4-4bbba9c91d31_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingDesignationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:label id="lab_us-gaap_HedgingDesignationAxis_label_en-US" xlink:label="lab_us-gaap_HedgingDesignationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingDesignationAxis" xlink:to="lab_us-gaap_HedgingDesignationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_form_TwoMajorCustomersMember_09655411-2df7-4c67-8120-8b32cd92c303_terseLabel_en-US" xlink:label="lab_form_TwoMajorCustomersMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Two Major Customers</link:label>
    <link:label id="lab_form_TwoMajorCustomersMember_label_en-US" xlink:label="lab_form_TwoMajorCustomersMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Two Major Customers [Member]</link:label>
    <link:label id="lab_form_TwoMajorCustomersMember_documentation_en-US" xlink:label="lab_form_TwoMajorCustomersMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Two Major Customers</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_TwoMajorCustomersMember" xlink:href="form-20230401.xsd#form_TwoMajorCustomersMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_TwoMajorCustomersMember" xlink:to="lab_form_TwoMajorCustomersMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFilerCategory_90f86aaa-63a8-4d64-bb24-14f199a07000_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_label_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_28973f5e-2a43-40b1-8a62-b142129d36a0_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_f942a859-a18c-4b12-b97a-f091f74e1946_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average shares used in computing basic net income per share (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_country_US_be9752bb-1607-46df-9437-fe8165f7fc21_terseLabel_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">United States</link:label>
    <link:label id="lab_country_US_label_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">UNITED STATES</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_US" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_US" xlink:to="lab_country_US" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock_ba56aa9c-ab99-406c-bf35-7738eb03ec79_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Unrecognized Stock-based Compensation</link:label>
    <link:label id="lab_us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock_6d800432-0834-48ca-b8d7-2ac1b8123de2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Foreign Currency Forward Contracts</link:label>
    <link:label id="lab_us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Foreign Exchange Contracts, Statement of Financial Position [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_fb3b5e4e-8bec-4ece-a087-b5fe86024fd5_terseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total stock-based compensation</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract_441bfdfe-8bc7-4a2a-8e1c-c379064ddfc0_terseLabel_en-US" xlink:label="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-cash investing and financing activities:</link:label>
    <link:label id="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract_label_en-US" xlink:label="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash Investing and Financing Items [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="lab_us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_7a09a842-e32e-4d3c-9bd8-3f6a2e5ffd8f_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeNotionalAmount_487f633f-8c6e-452c-9c30-a8e4e9a8c21a_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeNotionalAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative, notional amount</link:label>
    <link:label id="lab_us-gaap_DerivativeNotionalAmount_label_en-US" xlink:label="lab_us-gaap_DerivativeNotionalAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative, Notional Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeNotionalAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeNotionalAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeNotionalAmount" xlink:to="lab_us-gaap_DerivativeNotionalAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_eca4908f-2858-4a1a-89aa-156d5ebbbab9_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]</link:label>
    <link:label id="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_label_en-US" xlink:label="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:to="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashCurrent_89a3d696-57fe-41fd-ab90-6c44a70403a0_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted cash, current</link:label>
    <link:label id="lab_us-gaap_RestrictedCashCurrent_label_en-US" xlink:label="lab_us-gaap_RestrictedCashCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashCurrent" xlink:to="lab_us-gaap_RestrictedCashCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockMember_ad14560f-4186-4a11-b930-2b2e806dac1f_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted stock units</link:label>
    <link:label id="lab_us-gaap_RestrictedStockMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockMember" xlink:to="lab_us-gaap_RestrictedStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_form_IncreaseDecreaseInDeferredGovernmentGrant_6f5a5fa9-05dc-4ba5-90e5-a6ccafd8b9bf_terseLabel_en-US" xlink:label="lab_form_IncreaseDecreaseInDeferredGovernmentGrant" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred grant</link:label>
    <link:label id="lab_form_IncreaseDecreaseInDeferredGovernmentGrant_label_en-US" xlink:label="lab_form_IncreaseDecreaseInDeferredGovernmentGrant" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Deferred Government Grant</link:label>
    <link:label id="lab_form_IncreaseDecreaseInDeferredGovernmentGrant_documentation_en-US" xlink:label="lab_form_IncreaseDecreaseInDeferredGovernmentGrant" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Deferred Government Grant</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_IncreaseDecreaseInDeferredGovernmentGrant" xlink:href="form-20230401.xsd#form_IncreaseDecreaseInDeferredGovernmentGrant"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_IncreaseDecreaseInDeferredGovernmentGrant" xlink:to="lab_form_IncreaseDecreaseInDeferredGovernmentGrant" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_78c6f756-3fab-4466-a1d7-c5e74423eb6b_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_form_May2022StockRepurchaseProgramMember_b825826e-3f52-4e5a-9870-efb4bb0101e9_terseLabel_en-US" xlink:label="lab_form_May2022StockRepurchaseProgramMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">May 2022 Stock Repurchase Program</link:label>
    <link:label id="lab_form_May2022StockRepurchaseProgramMember_label_en-US" xlink:label="lab_form_May2022StockRepurchaseProgramMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">May 2022 Stock Repurchase Program [Member]</link:label>
    <link:label id="lab_form_May2022StockRepurchaseProgramMember_documentation_en-US" xlink:label="lab_form_May2022StockRepurchaseProgramMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">May 2022 Stock Repurchase Program</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_May2022StockRepurchaseProgramMember" xlink:href="form-20230401.xsd#form_May2022StockRepurchaseProgramMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_May2022StockRepurchaseProgramMember" xlink:to="lab_form_May2022StockRepurchaseProgramMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_a9a49079-0908-499a-9761-4b3f37deb93e_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenues</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_5acb03d9-13b7-4389-9b58-99a4a5cf7dcb_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate bonds</link:label>
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_label_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate Bond Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateBondSecuritiesMember" xlink:to="lab_us-gaap_CorporateBondSecuritiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_4d51fbdd-029e-4bca-bb9c-8d03477b25fb_terseLabel_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover page.</link:label>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_c31d832e-e861-4dd9-b023-1084225ee93a_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level 3</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel3Member" xlink:to="lab_us-gaap_FairValueInputsLevel3Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillImpairmentLoss_d575b880-d1eb-43cc-be25-7acf403c5996_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, impairment loss</link:label>
    <link:label id="lab_us-gaap_GoodwillImpairmentLoss_label_en-US" xlink:label="lab_us-gaap_GoodwillImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Impairment Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairmentLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillImpairmentLoss" xlink:to="lab_us-gaap_GoodwillImpairmentLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract_2ea90bb3-0100-4ce4-9365-c798be9fd690_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring and Related Activities [Abstract]</link:label>
    <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring and Related Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_country_TW_1fb3590d-732a-4538-b63b-7d7829294ea8_terseLabel_en-US" xlink:label="lab_country_TW" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taiwan</link:label>
    <link:label id="lab_country_TW_label_en-US" xlink:label="lab_country_TW" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">TAIWAN</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_TW" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TW"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_TW" xlink:to="lab_country_TW" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_249d72e7-0b20-4e06-8af6-0e3bfdaba66d_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Work-in-progress</link:label>
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_label_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Work in Process, Net of Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="lab_us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_7436327c-cace-49d6-bcda-f6a00d15b878_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_b6cc30eb-56a9-439c-8249-d48401636543_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_label_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingAbstract" xlink:to="lab_us-gaap_SegmentReportingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNet_df1d3ce5-2aed-4620-9501-f0bc155fa54f_terseLabel_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest income (expense), net</link:label>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNet_label_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Income (Expense), Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestIncomeExpenseNet" xlink:to="lab_us-gaap_InterestIncomeExpenseNet" xlink:type="arc" order="1"/>
    <link:label id="lab_currency_TWD_c0830162-166c-4119-8875-e8ae2bfb9cde_terseLabel_en-US" xlink:label="lab_currency_TWD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taiwan Dollar</link:label>
    <link:label id="lab_currency_TWD_label_en-US" xlink:label="lab_currency_TWD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taiwan, New Dollars</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_currency_TWD" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_TWD"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_TWD" xlink:to="lab_currency_TWD" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_28d5ff38-5d5e-4931-9fe1-d60d9fbf567f_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax withholdings related to net share settlements of equity awards</link:label>
    <link:label id="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment, Tax Withholding, Share-Based Payment Arrangement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_7c57d5a9-c899-4769-ab26-a90eed71f5fe_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities and stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_country_SG_89e0396c-d040-4293-8dfa-fe8861b94b20_terseLabel_en-US" xlink:label="lab_country_SG" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Singapore</link:label>
    <link:label id="lab_country_SG_label_en-US" xlink:label="lab_country_SG" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SINGAPORE</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_SG" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_SG"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_SG" xlink:to="lab_country_SG" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillRollForward_b2335595-624f-4a49-8a77-de35183c2018_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_GoodwillRollForward_label_en-US" xlink:label="lab_us-gaap_GoodwillRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillRollForward" xlink:to="lab_us-gaap_GoodwillRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain_786b8e77-3ffe-41b0-ac17-23ab1e015050_terseLabel_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Domain]</link:label>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain_label_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_d0120da0-7df8-4ecc-9132-011b10004b11_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount remaining for future repurchases</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Remaining Authorized Repurchase Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:to="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LandMember_dd1d0a49-289c-40b5-ae2c-b95264a98e09_terseLabel_en-US" xlink:label="lab_us-gaap_LandMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Land</link:label>
    <link:label id="lab_us-gaap_LandMember_label_en-US" xlink:label="lab_us-gaap_LandMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Land [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LandMember" xlink:to="lab_us-gaap_LandMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_6198386b-386e-4a82-90fa-4961a5f10ca9_terseLabel_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Add potentially dilutive securities (in shares)</link:label>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_label_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_e42e9219-9ba1-4e47-8025-429dca706c5f_terseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_c2f67daf-0e8d-49f7-9210-ea99bfa7cd96_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_a0dffa66-4d74-4266-99ff-c60df8608a62_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level 2</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel2Member" xlink:to="lab_us-gaap_FairValueInputsLevel2Member" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_651d1d94-8c3c-4e69-a2cb-78dca0784ec3_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_ed89c974-0ea8-4b32-84de-e0ac0a2f8b3a_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Liabilities</link:label>
    <link:label id="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_50a4808c-81ba-4355-afb2-347255a5a9bc_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: interest</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MarketableSecuritiesCurrent_88df188f-3d44-479c-be42-652f2936466a_terseLabel_en-US" xlink:label="lab_us-gaap_MarketableSecuritiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Marketable securities</link:label>
    <link:label id="lab_us-gaap_MarketableSecuritiesCurrent_label_en-US" xlink:label="lab_us-gaap_MarketableSecuritiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Marketable Securities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MarketableSecuritiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MarketableSecuritiesCurrent" xlink:to="lab_us-gaap_MarketableSecuritiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_611e954f-d22e-4e83-9031-cc424d4ec570_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_a1480287-7454-4eb4-b1c3-2d1ac52747cd_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_14c2c82e-0fe2-4a35-8ad6-dbfbda206cd9_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangibles, net</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets, Net (Excluding Goodwill)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_2bd69a3f-35a5-46d5-b168-a2be6266c5b7_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ConsolidationItemsAxis_d47c016c-0f2f-4a34-838e-6a388125335b_terseLabel_en-US" xlink:label="lab_srt_ConsolidationItemsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Axis]</link:label>
    <link:label id="lab_srt_ConsolidationItemsAxis_label_en-US" xlink:label="lab_srt_ConsolidationItemsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ConsolidationItemsAxis" xlink:to="lab_srt_ConsolidationItemsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskByTypeAxis_d0d0035c-7d96-415f-8f5a-4b8912dedf11_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskByTypeAxis_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis" xlink:to="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_9d291016-dd3c-4316-b6fe-39772d63d737_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherRestructuringMember_d71ed21e-e475-41d6-a476-fbe8a495aaed_terseLabel_en-US" xlink:label="lab_us-gaap_OtherRestructuringMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Costs</link:label>
    <link:label id="lab_us-gaap_OtherRestructuringMember_label_en-US" xlink:label="lab_us-gaap_OtherRestructuringMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Restructuring [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherRestructuringMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherRestructuringMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherRestructuringMember" xlink:to="lab_us-gaap_OtherRestructuringMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSoldAmortization_a61ad9d6-ef9d-4271-a05b-aa952e9be932_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSoldAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSoldAmortization_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSoldAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost, Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSoldAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSoldAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSoldAmortization" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSoldAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_ff0963d4-593b-4623-ac5c-add693a54af3_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_b2bf3105-fdff-4e31-90d7-5ec27ced3029_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Concentration Risk</link:label>
    <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_label_en-US" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerConcentrationRiskMember" xlink:to="lab_us-gaap_CustomerConcentrationRiskMember" xlink:type="arc" order="1"/>
    <link:label id="lab_form_WoburnMember_6875c320-0aff-410b-9b8c-47ca07050106_terseLabel_en-US" xlink:label="lab_form_WoburnMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Woburn</link:label>
    <link:label id="lab_form_WoburnMember_label_en-US" xlink:label="lab_form_WoburnMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Woburn [Member]</link:label>
    <link:label id="lab_form_WoburnMember_documentation_en-US" xlink:label="lab_form_WoburnMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Woburn</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_WoburnMember" xlink:href="form-20230401.xsd#form_WoburnMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_WoburnMember" xlink:to="lab_form_WoburnMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveLineItems_afe0b03e-a2d3-4ae2-96d3-7a996735c35a_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Cost and Reserve [Line Items]</link:label>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveLineItems_label_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Cost and Reserve [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems" xlink:to="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_d4951f7a-9240-4a1e-9a17-99eb8227669a_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restricted Stock Unit Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareRepurchaseProgramAxis_60690d4e-30b6-4b22-9faa-41a2b8dd9b24_terseLabel_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Repurchase Program [Axis]</link:label>
    <link:label id="lab_us-gaap_ShareRepurchaseProgramAxis_label_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Repurchase Program [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis" xlink:to="lab_us-gaap_ShareRepurchaseProgramAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligation_0ced0561-631d-4c5a-a92c-0cd979b900e7_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance obligations</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligation_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligation" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerMember_000fba8c-8c1d-47d7-85a5-12a13cf14a70_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer Benchmark</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerMember_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer Benchmark [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerMember" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerMember" xlink:type="arc" order="1"/>
    <link:label id="lab_form_DeferredGovernmentGrantLiabilityTerm_5d665c5d-b89f-4217-9b55-22860b72f539_terseLabel_en-US" xlink:label="lab_form_DeferredGovernmentGrantLiabilityTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Grant term</link:label>
    <link:label id="lab_form_DeferredGovernmentGrantLiabilityTerm_label_en-US" xlink:label="lab_form_DeferredGovernmentGrantLiabilityTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Government Grant Liability, Term</link:label>
    <link:label id="lab_form_DeferredGovernmentGrantLiabilityTerm_documentation_en-US" xlink:label="lab_form_DeferredGovernmentGrantLiabilityTerm" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Government Grant Liability, Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_DeferredGovernmentGrantLiabilityTerm" xlink:href="form-20230401.xsd#form_DeferredGovernmentGrantLiabilityTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_DeferredGovernmentGrantLiabilityTerm" xlink:to="lab_form_DeferredGovernmentGrantLiabilityTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_398b9f77-2746-4fd7-8d2c-a606357a1a05_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Future Minimum Payments Under Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_82a4221d-87c4-4807-ac12-204a7336b424_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_form_A2022RestructuringPlanMember_f13cc42a-3933-4e81-afd1-ac2b160515de_terseLabel_en-US" xlink:label="lab_form_A2022RestructuringPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Restructuring Plan</link:label>
    <link:label id="lab_form_A2022RestructuringPlanMember_label_en-US" xlink:label="lab_form_A2022RestructuringPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Restructuring Plan [Member]</link:label>
    <link:label id="lab_form_A2022RestructuringPlanMember_documentation_en-US" xlink:label="lab_form_A2022RestructuringPlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Restructuring Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_A2022RestructuringPlanMember" xlink:href="form-20230401.xsd#form_A2022RestructuringPlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_A2022RestructuringPlanMember" xlink:to="lab_form_A2022RestructuringPlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_135486e5-dada-4cba-a5fe-22d64c26c5c3_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with customer, liability</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiability" xlink:to="lab_us-gaap_ContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductOrServiceAxis_15594211-5d51-42a4-9243-51a39d3b0225_terseLabel_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:label id="lab_srt_ProductOrServiceAxis_label_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis" xlink:to="lab_srt_ProductOrServiceAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_EuropeMember_a2e13cad-a031-4093-86cc-a696433171db_terseLabel_en-US" xlink:label="lab_srt_EuropeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Europe</link:label>
    <link:label id="lab_srt_EuropeMember_label_en-US" xlink:label="lab_srt_EuropeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Europe [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EuropeMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EuropeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_EuropeMember" xlink:to="lab_srt_EuropeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfStockDomain_ccbf9c41-bd9f-4fdc-97c5-fb968291f646_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:label id="lab_us-gaap_ClassOfStockDomain_label_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockDomain" xlink:to="lab_us-gaap_ClassOfStockDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_d6a2755b-28bb-4a19-a76c-88ce201030d3_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract" xlink:to="lab_us-gaap_FairValueDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TradeNamesMember_03c8cdf3-f494-4771-947d-8008ecca004a_terseLabel_en-US" xlink:label="lab_us-gaap_TradeNamesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trade name</link:label>
    <link:label id="lab_us-gaap_TradeNamesMember_label_en-US" xlink:label="lab_us-gaap_TradeNamesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trade Names [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeNamesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TradeNamesMember" xlink:to="lab_us-gaap_TradeNamesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_3bd16c21-f747-4b41-9b14-e407692bcfef_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrealized gains (losses) on available-for-sale marketable securities</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_9c327b0a-89f4-4948-85bb-144c65295a2c_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accrued Liabilities</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accrued Liabilities [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_0d31eabd-f716-45bd-9566-8c1d0197b56a_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories, net</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureTextBlock" xlink:to="lab_us-gaap_InventoryDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_dda7f05a-5003-4707-a5c4-c450124d0379_terseLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of cash, cash equivalents and restricted cash:</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityAbstract_351fd010-c562-4977-864a-e6cc7a2680b7_terseLabel_en-US" xlink:label="lab_us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_EquityAbstract_label_en-US" xlink:label="lab_us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityAbstract" xlink:to="lab_us-gaap_EquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_65fec64d-898c-4ea9-b18c-95fcc257083f_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Awards vested (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_bc876153-ec2f-40d8-93b3-efb63cf2d3ab_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureAbstract" xlink:to="lab_us-gaap_InventoryDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_a4c66a5f-bae3-4989-9060-55330c9fd161_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_c54b2e65-4c5d-405b-9c2b-3180c6b3da7e_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Disaggregation of Revenue by Segment</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_form_InventoryImpairmentsMember_c944cb36-4145-4049-b36f-d92ecd0aba9f_terseLabel_en-US" xlink:label="lab_form_InventoryImpairmentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Impairments &amp; Other Inventory Related Costs</link:label>
    <link:label id="lab_form_InventoryImpairmentsMember_label_en-US" xlink:label="lab_form_InventoryImpairmentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Impairments [Member]</link:label>
    <link:label id="lab_form_InventoryImpairmentsMember_documentation_en-US" xlink:label="lab_form_InventoryImpairmentsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Impairments [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_InventoryImpairmentsMember" xlink:href="form-20230401.xsd#form_InventoryImpairmentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_InventoryImpairmentsMember" xlink:to="lab_form_InventoryImpairmentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_2f1b9c5d-e991-4dfd-994c-374cb40d874b_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_68d49bb6-fc72-4e0f-b8b1-11c179f7da83_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remainder of 2023</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_a19a8e62-73fd-4265-9cb7-9635a1a3db46_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_label_en-US" xlink:label="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:to="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_b6cd9ec5-2ed9-4c42-96f4-0ec80401de1b_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranties Disclosures [Abstract]</link:label>
    <link:label id="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranties Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:to="lab_us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_249f1563-7ddb-4610-9a8b-e5fa2ec53af7_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net increase in cash, cash equivalents and restricted cash</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_0d400449-990c-49cd-9012-a3c7cb235040_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restructuring Accrual Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restructuring Reserve by Type of Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:to="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_00a19998-5d5b-4f84-866e-dc4740fc7e05_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Costs by Reportable Segment</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring and Related Costs [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:to="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommercialPaperMember_bfe5ddbf-6af6-44b3-ab6a-1525fe46ca51_terseLabel_en-US" xlink:label="lab_us-gaap_CommercialPaperMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial paper</link:label>
    <link:label id="lab_us-gaap_CommercialPaperMember_label_en-US" xlink:label="lab_us-gaap_CommercialPaperMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial Paper [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommercialPaperMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommercialPaperMember" xlink:to="lab_us-gaap_CommercialPaperMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_60b85839-f250-4097-81bd-23bbe046979d_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_d4e30db1-98c4-481b-9675-c9c312f16d20_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_d1a2b1dd-6ba8-43d8-ae01-e456066e8424_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Grant Date Fair Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_7a7344fa-2301-4448-b61d-ec8aefff2f4c_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d56c0fd3-63f7-4af6-b994-834dde2fcc4e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="1"/>
    <link:label id="lab_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal_4e5a93b6-6a9a-4d24-aeda-2752349d5a28_totalLabel_en-US" xlink:label="lab_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net</link:label>
    <link:label id="lab_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal_label_en-US" xlink:label="lab_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite Lived Intangible Assets Amortization Expense Total</link:label>
    <link:label id="lab_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal_documentation_en-US" xlink:label="lab_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite Lived Intangible Assets Amortization Expense Total</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal" xlink:href="form-20230401.xsd#form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal" xlink:to="lab_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_a23e76ad-3fb7-4ec8-b128-7566061855b8_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other accrued expenses</link:label>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_747bfee8-f8b6-4d6b-80ab-5a246b29ff7e_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_6f72e363-5e6d-48e1-b46e-2d671eab9fe4_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ASSETS</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_currency_EUR_76655968-4842-43ad-b16b-0e59424dabf0_terseLabel_en-US" xlink:label="lab_currency_EUR" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Euro Dollar</link:label>
    <link:label id="lab_currency_EUR_label_en-US" xlink:label="lab_currency_EUR" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Euro Member Countries, Euro</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_currency_EUR" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_EUR"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_EUR" xlink:to="lab_currency_EUR" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_318b3f22-80b2-49ca-b023-7cbad408e06a_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_1cdbf1b5-728f-492a-8448-40831b6a7f31_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from maturities and sales of marketable securities</link:label>
    <link:label id="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_label_en-US" xlink:label="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:to="lab_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage_7de85446-3d9e-4027-ad98-c9764ac8120a_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, remaining performance obligation, percentage</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_62c6c0c6-5b98-4be9-930e-c489ac3bd185_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByAssetClassAxis_bdcc5aeb-c9a2-46d3-bccc-fc5614cc985a_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByAssetClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByAssetClassAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByAssetClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByAssetClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByAssetClassAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByAssetClassAxis" xlink:to="lab_us-gaap_FairValueByAssetClassAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensation_c49e93e4-e4b2-40ee-9f4e-86963c5fa015_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Noncash Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_ae18dfcf-2be2-44b3-9a9f-3fd1f960ff94_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquisition of property, plant and equipment</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_3162a246-ab32-495c-9e5e-bca29d479e4e_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:to="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_0d1c4781-b3dd-429a-a5bf-8d7f43de98c8_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_9fc89913-23e8-4cf1-ab1c-291c7456acb0_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_8a6ee4ef-9682-43a0-b09b-5d1414c601c9_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Calculation of Numerator and Denominator in Earnings Per Share</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_f19ee62f-b04c-412e-b147-608655801876_terseLabel_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, right-of-use assets obtained in exchange for lease obligations</link:label>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AutomobilesMember_b520c43b-4450-44e7-abe2-f29dccdc5686_terseLabel_en-US" xlink:label="lab_us-gaap_AutomobilesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Automobiles</link:label>
    <link:label id="lab_us-gaap_AutomobilesMember_label_en-US" xlink:label="lab_us-gaap_AutomobilesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Automobiles [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AutomobilesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AutomobilesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AutomobilesMember" xlink:to="lab_us-gaap_AutomobilesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfSalesMember_f4f97428-70cc-4881-a3f0-8b7b20bf4d1c_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of revenues</link:label>
    <link:label id="lab_us-gaap_CostOfSalesMember_label_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Sales [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfSalesMember" xlink:to="lab_us-gaap_CostOfSalesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent_67a594ce-d730-4fad-9626-bd9f7b292661_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percent of workforce eliminated</link:label>
    <link:label id="lab_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent_label_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring and Related Cost, Number of Positions Eliminated, Period Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent" xlink:to="lab_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_NameOfMajorCustomerDomain_f5644e59-2f86-499d-b6b0-64470060bb05_terseLabel_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Name of Major Customer [Domain]</link:label>
    <link:label id="lab_srt_NameOfMajorCustomerDomain_label_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_NameOfMajorCustomerDomain" xlink:to="lab_srt_NameOfMajorCustomerDomain" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>form-20230401_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:c6ad957d-a97c-46e4-887a-1031f6c22890,g:30d24d1d-fc82-4e4c-8008-7009469476df-->
<link:linkbase xmlns:link="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">
  <link:roleRef roleURI="http://www.formfactor.com/role/CoverPage" xlink:type="simple" xlink:href="form-20230401.xsd#CoverPage"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/CoverPage" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_cb7c8250-afb0-45de-8403-087fd44b27c6" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_DocumentType_cb7c8250-afb0-45de-8403-087fd44b27c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport_37c0a7bb-f370-46de-9b0e-ce012f339e19" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_DocumentQuarterlyReport_37c0a7bb-f370-46de-9b0e-ce012f339e19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_0d4888e4-3fde-46be-88dc-251a8270d97d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_DocumentPeriodEndDate_0d4888e4-3fde-46be-88dc-251a8270d97d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_3c5aacff-b447-4050-ab70-0c2c9cfe9174" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_DocumentTransitionReport_3c5aacff-b447-4050-ab70-0c2c9cfe9174" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_0526274a-2c17-44cb-847d-4895eab304a2" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityFileNumber_0526274a-2c17-44cb-847d-4895eab304a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_44b19cd5-9f8a-4eaa-874d-85f034bb7844" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityRegistrantName_44b19cd5-9f8a-4eaa-874d-85f034bb7844" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_3b17ff89-e795-4ab3-a58a-acf1e5c39b46" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityIncorporationStateCountryCode_3b17ff89-e795-4ab3-a58a-acf1e5c39b46" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_b8946cf2-a7b5-4fa4-a6f8-79d4024dae04" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityTaxIdentificationNumber_b8946cf2-a7b5-4fa4-a6f8-79d4024dae04" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_debec9bb-82b8-4b97-8f6c-b314a4a33d0a" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityAddressAddressLine1_debec9bb-82b8-4b97-8f6c-b314a4a33d0a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_7f81bc45-8852-4b33-970e-0ecfddd0172a" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityAddressCityOrTown_7f81bc45-8852-4b33-970e-0ecfddd0172a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_0273d57d-34a6-4a9d-aa28-4617e5eae774" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityAddressStateOrProvince_0273d57d-34a6-4a9d-aa28-4617e5eae774" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_3148b978-21d4-4c52-9c32-fbf03a730bdf" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityAddressPostalZipCode_3148b978-21d4-4c52-9c32-fbf03a730bdf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_a61abe54-d6bd-4373-85e8-8f690ad75bf2" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_CityAreaCode_a61abe54-d6bd-4373-85e8-8f690ad75bf2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_1f212f49-66b6-4ac7-998f-7fabdefcb12d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_LocalPhoneNumber_1f212f49-66b6-4ac7-998f-7fabdefcb12d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_f01605bc-2131-4cf0-8fbd-fa10f9acc316" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_Security12bTitle_f01605bc-2131-4cf0-8fbd-fa10f9acc316" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_68230946-2274-42f9-901a-cce4792759c9" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_TradingSymbol_68230946-2274-42f9-901a-cce4792759c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_db65c4cb-a443-4dd2-92fe-e8a367ef38cd" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_SecurityExchangeName_db65c4cb-a443-4dd2-92fe-e8a367ef38cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_5862c8b4-33ed-4c57-91b4-d535faed44e4" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityCurrentReportingStatus_5862c8b4-33ed-4c57-91b4-d535faed44e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_90e5b58d-bf81-4bb2-9442-8033ed737deb" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityInteractiveDataCurrent_90e5b58d-bf81-4bb2-9442-8033ed737deb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_1b0791d3-8bb3-491d-a785-a5a1c9d338e4" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityFilerCategory_1b0791d3-8bb3-491d-a785-a5a1c9d338e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_61ca02c6-eb00-4f6e-a547-e10e9e3a74e8" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntitySmallBusiness_61ca02c6-eb00-4f6e-a547-e10e9e3a74e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_817517ea-66f1-4bbf-a596-beb1d9cb8b62" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityEmergingGrowthCompany_817517ea-66f1-4bbf-a596-beb1d9cb8b62" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_87078286-57aa-4c6d-8dd3-e0b25f1a6c28" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityShellCompany_87078286-57aa-4c6d-8dd3-e0b25f1a6c28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_90d01fb5-735f-4814-ada3-b47a6cf4f369" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_90d01fb5-735f-4814-ada3-b47a6cf4f369" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_8c968aed-7096-4b36-aeba-6ba289d23a4a" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_AmendmentFlag_8c968aed-7096-4b36-aeba-6ba289d23a4a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_784b7479-8e58-44cf-ae2e-febdf9f985ea" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_EntityCentralIndexKey_784b7479-8e58-44cf-ae2e-febdf9f985ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_beab854c-71fa-46d4-97cb-7c407b5b2b5c" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_CurrentFiscalYearEndDate_beab854c-71fa-46d4-97cb-7c407b5b2b5c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_3f0be39b-a986-414b-beaf-23a8e6b1250e" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_DocumentFiscalYearFocus_3f0be39b-a986-414b-beaf-23a8e6b1250e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_b50fa292-66c8-42ed-b733-98e4cd1c8d31" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_186cc4e8-5194-4913-af15-029b40628c12" xlink:to="loc_dei_DocumentFiscalPeriodFocus_b50fa292-66c8-42ed-b733-98e4cd1c8d31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="simple" xlink:href="form-20230401.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETS"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_736e9f77-003a-4553-b6a0-f81432e778c8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_d05365cb-c132-46a6-8fb0-ae2ad7d793f7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_736e9f77-003a-4553-b6a0-f81432e778c8" xlink:to="loc_us-gaap_AssetsAbstract_d05365cb-c132-46a6-8fb0-ae2ad7d793f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_e747ea7f-b420-4770-b216-cb64f191474e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_d05365cb-c132-46a6-8fb0-ae2ad7d793f7" xlink:to="loc_us-gaap_AssetsCurrentAbstract_e747ea7f-b420-4770-b216-cb64f191474e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_767df673-340b-4bda-a53c-4bd8f863fd9e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_e747ea7f-b420-4770-b216-cb64f191474e" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_767df673-340b-4bda-a53c-4bd8f863fd9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecuritiesCurrent_81d15f21-ffc3-41e9-bcaf-dc97eee2923d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MarketableSecuritiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_e747ea7f-b420-4770-b216-cb64f191474e" xlink:to="loc_us-gaap_MarketableSecuritiesCurrent_81d15f21-ffc3-41e9-bcaf-dc97eee2923d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_5a22aede-1460-4f7f-b055-4c0fea50fd30" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_e747ea7f-b420-4770-b216-cb64f191474e" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_5a22aede-1460-4f7f-b055-4c0fea50fd30" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_2a212df0-d689-4bd2-9dc8-23486ee2cb36" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_e747ea7f-b420-4770-b216-cb64f191474e" xlink:to="loc_us-gaap_InventoryNet_2a212df0-d689-4bd2-9dc8-23486ee2cb36" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_5e2a7485-50c1-4c1f-8a00-b6a5e142190d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_e747ea7f-b420-4770-b216-cb64f191474e" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_5e2a7485-50c1-4c1f-8a00-b6a5e142190d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_5e12209c-0992-4a20-926c-7b6260bc76b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_e747ea7f-b420-4770-b216-cb64f191474e" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_5e12209c-0992-4a20-926c-7b6260bc76b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_cd6f227d-e505-49c4-bb3e-860c9347897c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_e747ea7f-b420-4770-b216-cb64f191474e" xlink:to="loc_us-gaap_AssetsCurrent_cd6f227d-e505-49c4-bb3e-860c9347897c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_088acfe4-bef0-48f0-986e-14d66acdba1f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_d05365cb-c132-46a6-8fb0-ae2ad7d793f7" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_088acfe4-bef0-48f0-986e-14d66acdba1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_ac78ee90-a89f-4a1b-a298-e3f9781c2437" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_d05365cb-c132-46a6-8fb0-ae2ad7d793f7" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_ac78ee90-a89f-4a1b-a298-e3f9781c2437" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_73e64b13-e7ea-404e-9086-d79b399478b8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_d05365cb-c132-46a6-8fb0-ae2ad7d793f7" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_73e64b13-e7ea-404e-9086-d79b399478b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_c7bf856b-a351-4e95-8cbe-3b2df16a3c4c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_d05365cb-c132-46a6-8fb0-ae2ad7d793f7" xlink:to="loc_us-gaap_Goodwill_c7bf856b-a351-4e95-8cbe-3b2df16a3c4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_9252fb81-5520-41bc-8b39-09affde0e0ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_d05365cb-c132-46a6-8fb0-ae2ad7d793f7" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_9252fb81-5520-41bc-8b39-09affde0e0ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxAssetsNet_4ad3b052-2055-42d5-b63f-60a0dd34750f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_d05365cb-c132-46a6-8fb0-ae2ad7d793f7" xlink:to="loc_us-gaap_DeferredIncomeTaxAssetsNet_4ad3b052-2055-42d5-b63f-60a0dd34750f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_eb6806b2-b4ad-458d-a2e1-42f8f46e3478" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_d05365cb-c132-46a6-8fb0-ae2ad7d793f7" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_eb6806b2-b4ad-458d-a2e1-42f8f46e3478" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_fd9d4e2d-b9a8-4903-883e-f1716c06aa4e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_d05365cb-c132-46a6-8fb0-ae2ad7d793f7" xlink:to="loc_us-gaap_Assets_fd9d4e2d-b9a8-4903-883e-f1716c06aa4e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_05591f02-d8a3-46f1-903b-2844063e037e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_736e9f77-003a-4553-b6a0-f81432e778c8" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_05591f02-d8a3-46f1-903b-2844063e037e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_edeb030b-d003-4119-aa10-d578fce24c89" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_05591f02-d8a3-46f1-903b-2844063e037e" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_edeb030b-d003-4119-aa10-d578fce24c89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_9b96c33a-2ca1-479e-acfb-46317d32a7bc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_edeb030b-d003-4119-aa10-d578fce24c89" xlink:to="loc_us-gaap_AccountsPayableCurrent_9b96c33a-2ca1-479e-acfb-46317d32a7bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_47e9f317-6a79-4dc3-80bb-fa6c8527ced4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_edeb030b-d003-4119-aa10-d578fce24c89" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_47e9f317-6a79-4dc3-80bb-fa6c8527ced4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtCurrent_b08d98e1-2e2d-4b4c-b39d-c51f00414963" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_edeb030b-d003-4119-aa10-d578fce24c89" xlink:to="loc_us-gaap_LongTermDebtCurrent_b08d98e1-2e2d-4b4c-b39d-c51f00414963" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueCurrent_7052ea5b-e1e9-47c5-9c3e-4158ab8f5521" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredRevenueCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_edeb030b-d003-4119-aa10-d578fce24c89" xlink:to="loc_us-gaap_DeferredRevenueCurrent_7052ea5b-e1e9-47c5-9c3e-4158ab8f5521" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_05f7610b-fad6-44c6-ac80-4cc6eea73575" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_edeb030b-d003-4119-aa10-d578fce24c89" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_05f7610b-fad6-44c6-ac80-4cc6eea73575" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_bffa34f7-d5f2-4139-9592-1ebe39b87c8d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_edeb030b-d003-4119-aa10-d578fce24c89" xlink:to="loc_us-gaap_LiabilitiesCurrent_bffa34f7-d5f2-4139-9592-1ebe39b87c8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_8addc3dd-7fd1-45e9-900e-6a4546c1f3ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_05591f02-d8a3-46f1-903b-2844063e037e" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_8addc3dd-7fd1-45e9-900e-6a4546c1f3ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_0eb970f0-1f3f-4b94-8a9f-7640b1213250" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_05591f02-d8a3-46f1-903b-2844063e037e" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_0eb970f0-1f3f-4b94-8a9f-7640b1213250" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_ec73dfdb-5cbb-42ca-bc7c-265be24f0bbd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_05591f02-d8a3-46f1-903b-2844063e037e" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_ec73dfdb-5cbb-42ca-bc7c-265be24f0bbd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_DeferredGovernmentGrantLiability_1b5e2116-4dcd-4f85-9ec0-532decac1f37" xlink:href="form-20230401.xsd#form_DeferredGovernmentGrantLiability"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_05591f02-d8a3-46f1-903b-2844063e037e" xlink:to="loc_form_DeferredGovernmentGrantLiability_1b5e2116-4dcd-4f85-9ec0-532decac1f37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent_af023333-21ab-49a6-a155-f6b168fc28a2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_05591f02-d8a3-46f1-903b-2844063e037e" xlink:to="loc_us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent_af023333-21ab-49a6-a155-f6b168fc28a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_4b4fdc7b-34eb-4eb6-bc99-4633ffe61187" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_05591f02-d8a3-46f1-903b-2844063e037e" xlink:to="loc_us-gaap_Liabilities_4b4fdc7b-34eb-4eb6-bc99-4633ffe61187" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_7b42629a-9dec-4a8d-bf50-22a2c262c587" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_05591f02-d8a3-46f1-903b-2844063e037e" xlink:to="loc_us-gaap_StockholdersEquityAbstract_7b42629a-9dec-4a8d-bf50-22a2c262c587" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_2215948d-a245-4b13-a64a-6be127ca6781" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_7b42629a-9dec-4a8d-bf50-22a2c262c587" xlink:to="loc_us-gaap_CommonStockValue_2215948d-a245-4b13-a64a-6be127ca6781" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_b5ad9920-07b9-48df-915b-7d96568146f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_7b42629a-9dec-4a8d-bf50-22a2c262c587" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_b5ad9920-07b9-48df-915b-7d96568146f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_252e284d-fa13-4688-8b63-25f9d342e80e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_7b42629a-9dec-4a8d-bf50-22a2c262c587" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_252e284d-fa13-4688-8b63-25f9d342e80e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_8dfc17b6-a853-4eb9-a2ee-b94a66facfbb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_7b42629a-9dec-4a8d-bf50-22a2c262c587" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_8dfc17b6-a853-4eb9-a2ee-b94a66facfbb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_aeff0d1f-6c58-4f31-a864-ed29257ba12f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_7b42629a-9dec-4a8d-bf50-22a2c262c587" xlink:to="loc_us-gaap_StockholdersEquity_aeff0d1f-6c58-4f31-a864-ed29257ba12f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_857af279-b3cb-4905-b4fc-44db246b5fd4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_05591f02-d8a3-46f1-903b-2844063e037e" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_857af279-b3cb-4905-b4fc-44db246b5fd4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" xlink:type="simple" xlink:href="form-20230401.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_aaa11ef6-942a-4d8a-b7e6-727c266efd01" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_f4c650ad-eb98-422a-8476-901fc8f0b28c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_aaa11ef6-942a-4d8a-b7e6-727c266efd01" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_f4c650ad-eb98-422a-8476-901fc8f0b28c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_b0f28c63-1453-4f2a-975a-6c56f3f8c371" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_aaa11ef6-942a-4d8a-b7e6-727c266efd01" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_b0f28c63-1453-4f2a-975a-6c56f3f8c371" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_530bc8a1-710d-4b6d-bb74-647c68d07b67" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_aaa11ef6-942a-4d8a-b7e6-727c266efd01" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_530bc8a1-710d-4b6d-bb74-647c68d07b67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_408e18e2-e964-4f76-bec0-09604be0fcf4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_aaa11ef6-942a-4d8a-b7e6-727c266efd01" xlink:to="loc_us-gaap_CommonStockSharesIssued_408e18e2-e964-4f76-bec0-09604be0fcf4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_377ae3bb-aa21-4e13-aada-0923de503d4d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_aaa11ef6-942a-4d8a-b7e6-727c266efd01" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_377ae3bb-aa21-4e13-aada-0923de503d4d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" xlink:type="simple" xlink:href="form-20230401.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_92282936-3121-434c-9b56-98fa57e7535b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_46899ddc-5d09-4837-ba09-ec672ecf299e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_92282936-3121-434c-9b56-98fa57e7535b" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_46899ddc-5d09-4837-ba09-ec672ecf299e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_8954e7eb-c5b6-44e8-8922-77f551daacd2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_92282936-3121-434c-9b56-98fa57e7535b" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_8954e7eb-c5b6-44e8-8922-77f551daacd2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_bbcc2b99-13dc-4fd5-824d-4a350362d63a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_92282936-3121-434c-9b56-98fa57e7535b" xlink:to="loc_us-gaap_GrossProfit_bbcc2b99-13dc-4fd5-824d-4a350362d63a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract_948b9f6e-c080-4f19-9da9-9df37dfa2b6d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_92282936-3121-434c-9b56-98fa57e7535b" xlink:to="loc_us-gaap_OperatingExpensesAbstract_948b9f6e-c080-4f19-9da9-9df37dfa2b6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_cba3d79f-be0d-4a4f-a204-996ceb38a35c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_948b9f6e-c080-4f19-9da9-9df37dfa2b6d" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_cba3d79f-be0d-4a4f-a204-996ceb38a35c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_cf0268a9-0dc1-4390-b55b-e5784a005d3a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_948b9f6e-c080-4f19-9da9-9df37dfa2b6d" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_cf0268a9-0dc1-4390-b55b-e5784a005d3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_5d5eb3f9-eb9c-46c7-bd47-de33c617e9cb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_948b9f6e-c080-4f19-9da9-9df37dfa2b6d" xlink:to="loc_us-gaap_OperatingExpenses_5d5eb3f9-eb9c-46c7-bd47-de33c617e9cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_e10e38ec-b71b-42dc-b904-3184ecbb8414" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_92282936-3121-434c-9b56-98fa57e7535b" xlink:to="loc_us-gaap_OperatingIncomeLoss_e10e38ec-b71b-42dc-b904-3184ecbb8414" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_944d236e-0a27-42ca-808a-ff8330652eed" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_92282936-3121-434c-9b56-98fa57e7535b" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_944d236e-0a27-42ca-808a-ff8330652eed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_0148a961-8293-46fc-84ae-2f2f987f623c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_92282936-3121-434c-9b56-98fa57e7535b" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_0148a961-8293-46fc-84ae-2f2f987f623c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_8ba5406f-39f4-4331-8592-4c47dd2bf4e4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_92282936-3121-434c-9b56-98fa57e7535b" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_8ba5406f-39f4-4331-8592-4c47dd2bf4e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_2be47521-7774-4672-b23f-5c28b59a9938" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_92282936-3121-434c-9b56-98fa57e7535b" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_2be47521-7774-4672-b23f-5c28b59a9938" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_ca1cb20e-158b-4484-b7ee-3c90d1f12298" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_92282936-3121-434c-9b56-98fa57e7535b" xlink:to="loc_us-gaap_NetIncomeLoss_ca1cb20e-158b-4484-b7ee-3c90d1f12298" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_10463106-1883-4ccb-8467-95d13e73b128" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_92282936-3121-434c-9b56-98fa57e7535b" xlink:to="loc_us-gaap_EarningsPerShareAbstract_10463106-1883-4ccb-8467-95d13e73b128" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_23d1f7ab-0e39-4e72-b192-d62b8dcbc9b0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_10463106-1883-4ccb-8467-95d13e73b128" xlink:to="loc_us-gaap_EarningsPerShareBasic_23d1f7ab-0e39-4e72-b192-d62b8dcbc9b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_372ac3e3-e6e7-4bdc-b6f8-066bbded049f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_10463106-1883-4ccb-8467-95d13e73b128" xlink:to="loc_us-gaap_EarningsPerShareDiluted_372ac3e3-e6e7-4bdc-b6f8-066bbded049f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_91c95750-943f-4a8d-a11d-c7960e243c8a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_92282936-3121-434c-9b56-98fa57e7535b" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_91c95750-943f-4a8d-a11d-c7960e243c8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_69f19249-0032-42e8-a31c-d72a0e28a42d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_91c95750-943f-4a8d-a11d-c7960e243c8a" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_69f19249-0032-42e8-a31c-d72a0e28a42d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_998d646e-5506-430a-a881-dfc6ba36d1de" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_91c95750-943f-4a8d-a11d-c7960e243c8a" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_998d646e-5506-430a-a881-dfc6ba36d1de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" xlink:type="simple" xlink:href="form-20230401.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_2c0b83e4-c985-4257-9515-8e8baf316d56" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_6da2dced-9903-4eda-b188-dfb7c9c1d289" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_2c0b83e4-c985-4257-9515-8e8baf316d56" xlink:to="loc_us-gaap_NetIncomeLoss_6da2dced-9903-4eda-b188-dfb7c9c1d289" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_ad8f50fa-432d-44f1-ac31-8fecf87569d7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_2c0b83e4-c985-4257-9515-8e8baf316d56" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_ad8f50fa-432d-44f1-ac31-8fecf87569d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_c84c0da8-37fd-4fa2-ac7e-a673e787c437" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_ad8f50fa-432d-44f1-ac31-8fecf87569d7" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_c84c0da8-37fd-4fa2-ac7e-a673e787c437" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_8453d351-3355-4ac9-bb75-02e459e39395" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_ad8f50fa-432d-44f1-ac31-8fecf87569d7" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_8453d351-3355-4ac9-bb75-02e459e39395" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_d0e4a2fb-30f1-447c-abf0-3dbab871141a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_ad8f50fa-432d-44f1-ac31-8fecf87569d7" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_d0e4a2fb-30f1-447c-abf0-3dbab871141a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_52e9788c-8945-4db8-b9c5-bd51cd02c260" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_ad8f50fa-432d-44f1-ac31-8fecf87569d7" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_52e9788c-8945-4db8-b9c5-bd51cd02c260" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_0eca36e0-1cf6-481a-8a60-57f24103e835" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_2c0b83e4-c985-4257-9515-8e8baf316d56" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_0eca36e0-1cf6-481a-8a60-57f24103e835" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="simple" xlink:href="form-20230401.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_e97a692f-764e-4f06-9e4a-bf792b5da2e3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_b8184133-1a8b-48d0-9778-3df73986bcb5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_e97a692f-764e-4f06-9e4a-bf792b5da2e3" xlink:to="loc_us-gaap_StatementTable_b8184133-1a8b-48d0-9778-3df73986bcb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_968abdf3-c54f-46f5-b19e-7b7019cc647d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_b8184133-1a8b-48d0-9778-3df73986bcb5" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_968abdf3-c54f-46f5-b19e-7b7019cc647d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_b0ca5ae9-0d85-4f5b-9f52-737dd71849e6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_968abdf3-c54f-46f5-b19e-7b7019cc647d" xlink:to="loc_us-gaap_EquityComponentDomain_b0ca5ae9-0d85-4f5b-9f52-737dd71849e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_71fbbc25-323b-46b6-a611-8f56b08ad484" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_b0ca5ae9-0d85-4f5b-9f52-737dd71849e6" xlink:to="loc_us-gaap_CommonStockMember_71fbbc25-323b-46b6-a611-8f56b08ad484" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_eedba67c-570d-4f20-bcd4-1613420b9906" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_b0ca5ae9-0d85-4f5b-9f52-737dd71849e6" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_eedba67c-570d-4f20-bcd4-1613420b9906" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_403ac324-75cf-43a1-a2f2-21ac7ac1da7a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_b0ca5ae9-0d85-4f5b-9f52-737dd71849e6" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_403ac324-75cf-43a1-a2f2-21ac7ac1da7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_9c0170d5-c80d-4fed-a329-607836838f12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_b0ca5ae9-0d85-4f5b-9f52-737dd71849e6" xlink:to="loc_us-gaap_RetainedEarningsMember_9c0170d5-c80d-4fed-a329-607836838f12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_f79d0cb4-7607-4b24-a35f-28cac5f5ee12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_b8184133-1a8b-48d0-9778-3df73986bcb5" xlink:to="loc_us-gaap_StatementLineItems_f79d0cb4-7607-4b24-a35f-28cac5f5ee12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_f79d0cb4-7607-4b24-a35f-28cac5f5ee12" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_986b334a-a499-495c-b440-aec705e1aaf2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_986b334a-a499-495c-b440-aec705e1aaf2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_6b85a336-3a70-4f50-89e9-56a9b30b7381" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockholdersEquity_6b85a336-3a70-4f50-89e9-56a9b30b7381" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_81e6a3eb-342b-4c91-aaa0-6194fbcbe7ed" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_81e6a3eb-342b-4c91-aaa0-6194fbcbe7ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_116bb543-d49f-49c9-b71e-64c468815837" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_116bb543-d49f-49c9-b71e-64c468815837" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross_383d75d0-f5f5-40d0-9cc2-8c3f59fbb457" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross_383d75d0-f5f5-40d0-9cc2-8c3f59fbb457" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_2850b930-a773-4512-875c-23ce0cb60772" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_2850b930-a773-4512-875c-23ce0cb60772" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_0cfd859c-ab5a-4040-a9e9-acad06c50542" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_0cfd859c-ab5a-4040-a9e9-acad06c50542" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_fbcffd4b-011f-4952-9dd9-e59a05d668a9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_fbcffd4b-011f-4952-9dd9-e59a05d668a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_2fd2306f-679c-4478-ab13-8fd81ee15694" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_2fd2306f-679c-4478-ab13-8fd81ee15694" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_760e1d20-d5ac-4b6e-b037-12d1ba43d885" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_760e1d20-d5ac-4b6e-b037-12d1ba43d885" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_02c6572c-94fc-45d1-8293-44e1aa622cb6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_02c6572c-94fc-45d1-8293-44e1aa622cb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_59d56a35-6ebc-4010-bb95-9797c4bd4128" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_59d56a35-6ebc-4010-bb95-9797c4bd4128" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_a05bf7b7-d0d0-4127-bd27-c00dbaf3fa91" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_NetIncomeLoss_a05bf7b7-d0d0-4127-bd27-c00dbaf3fa91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_1d7d7e44-896c-433b-b67b-cffbe8690f22" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_1d7d7e44-896c-433b-b67b-cffbe8690f22" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_0a316031-282e-4c7d-b1b4-6b7c6204724c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_1a6c3c18-e8e7-40b3-9906-faea5cbd4ef7" xlink:to="loc_us-gaap_StockholdersEquity_0a316031-282e-4c7d-b1b4-6b7c6204724c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="simple" xlink:href="form-20230401.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_2ffa9daf-4de5-401a-b0b1-2497b05eb2ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_a715db34-75e9-41ac-abec-08891895e2fe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_2ffa9daf-4de5-401a-b0b1-2497b05eb2ce" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_a715db34-75e9-41ac-abec-08891895e2fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_b8aff617-35ce-463c-a0ad-816228d9f872" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_a715db34-75e9-41ac-abec-08891895e2fe" xlink:to="loc_us-gaap_NetIncomeLoss_b8aff617-35ce-463c-a0ad-816228d9f872" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b4bdc944-8467-4b12-96ec-e8f098f79392" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_a715db34-75e9-41ac-abec-08891895e2fe" xlink:to="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b4bdc944-8467-4b12-96ec-e8f098f79392" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_161cb7e9-0960-432c-8b68-30e252593f35" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b4bdc944-8467-4b12-96ec-e8f098f79392" xlink:to="loc_us-gaap_Depreciation_161cb7e9-0960-432c-8b68-30e252593f35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSoldAmortization_e252eafe-a849-45e7-a6fb-650f9b0a5daf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSoldAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b4bdc944-8467-4b12-96ec-e8f098f79392" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSoldAmortization_e252eafe-a849-45e7-a6fb-650f9b0a5daf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_0caac48a-91a4-4c14-9d2e-486abb19847b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b4bdc944-8467-4b12-96ec-e8f098f79392" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_0caac48a-91a4-4c14-9d2e-486abb19847b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_bd0e336c-fee5-45a5-888a-e001b92ca675" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b4bdc944-8467-4b12-96ec-e8f098f79392" xlink:to="loc_us-gaap_ShareBasedCompensation_bd0e336c-fee5-45a5-888a-e001b92ca675" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWriteDown_0d135130-145c-4fad-bd54-83f6a16ade50" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b4bdc944-8467-4b12-96ec-e8f098f79392" xlink:to="loc_us-gaap_InventoryWriteDown_0d135130-145c-4fad-bd54-83f6a16ade50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement_e123fe14-6868-49fa-a230-2cbd87436bc4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b4bdc944-8467-4b12-96ec-e8f098f79392" xlink:to="loc_us-gaap_OtherOperatingActivitiesCashFlowStatement_e123fe14-6868-49fa-a230-2cbd87436bc4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_456b8ebb-172f-40af-bf3c-c90b3ca6e7cd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_b4bdc944-8467-4b12-96ec-e8f098f79392" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_456b8ebb-172f-40af-bf3c-c90b3ca6e7cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_9220691f-a515-4d40-ab75-0e6967aa8fbf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_456b8ebb-172f-40af-bf3c-c90b3ca6e7cd" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_9220691f-a515-4d40-ab75-0e6967aa8fbf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_5ab3a536-20f5-452d-b30c-b6ae64cfbe9f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_456b8ebb-172f-40af-bf3c-c90b3ca6e7cd" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_5ab3a536-20f5-452d-b30c-b6ae64cfbe9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_b625ebd1-8568-4b40-9e7b-c3ccbcc0cd19" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_456b8ebb-172f-40af-bf3c-c90b3ca6e7cd" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_b625ebd1-8568-4b40-9e7b-c3ccbcc0cd19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_72dd1e87-bb5a-44ca-a956-a14149fc4eb6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_456b8ebb-172f-40af-bf3c-c90b3ca6e7cd" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_72dd1e87-bb5a-44ca-a956-a14149fc4eb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_a91ead3c-52ce-4ecb-b5fb-05fee03b6d99" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_456b8ebb-172f-40af-bf3c-c90b3ca6e7cd" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_a91ead3c-52ce-4ecb-b5fb-05fee03b6d99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_f5993120-343d-48dd-87d1-4c130748608a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_456b8ebb-172f-40af-bf3c-c90b3ca6e7cd" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_f5993120-343d-48dd-87d1-4c130748608a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherDeferredLiability_386757ff-5822-4bee-8e66-71a0819421f5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherDeferredLiability"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_456b8ebb-172f-40af-bf3c-c90b3ca6e7cd" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherDeferredLiability_386757ff-5822-4bee-8e66-71a0819421f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_7badad58-030f-46e1-8243-c861f3e8c904" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_456b8ebb-172f-40af-bf3c-c90b3ca6e7cd" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_7badad58-030f-46e1-8243-c861f3e8c904" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_IncreaseDecreaseInDeferredGovernmentGrant_120d0a10-1e75-4be8-b59e-e5eb4c87325e" xlink:href="form-20230401.xsd#form_IncreaseDecreaseInDeferredGovernmentGrant"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_456b8ebb-172f-40af-bf3c-c90b3ca6e7cd" xlink:to="loc_form_IncreaseDecreaseInDeferredGovernmentGrant_120d0a10-1e75-4be8-b59e-e5eb4c87325e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingLeaseLiability_4d2c5a0a-75fb-4134-9158-153cc9a94183" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_456b8ebb-172f-40af-bf3c-c90b3ca6e7cd" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingLeaseLiability_4d2c5a0a-75fb-4134-9158-153cc9a94183" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0a7f1149-7d14-4721-a218-fdc0fd3f6cc2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_a715db34-75e9-41ac-abec-08891895e2fe" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0a7f1149-7d14-4721-a218-fdc0fd3f6cc2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_77b5d4cb-de0a-472a-92c4-870f9835995b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_2ffa9daf-4de5-401a-b0b1-2497b05eb2ce" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_77b5d4cb-de0a-472a-92c4-870f9835995b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_6a53a14f-08fe-4c81-ba66-b3144e9d0974" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_77b5d4cb-de0a-472a-92c4-870f9835995b" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_6a53a14f-08fe-4c81-ba66-b3144e9d0974" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireMarketableSecurities_0691ea4e-0e99-4ffa-94f0-ca7d20a9d942" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireMarketableSecurities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_77b5d4cb-de0a-472a-92c4-870f9835995b" xlink:to="loc_us-gaap_PaymentsToAcquireMarketableSecurities_0691ea4e-0e99-4ffa-94f0-ca7d20a9d942" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_a710e1b5-441c-4380-bd5f-f593576e76d3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_77b5d4cb-de0a-472a-92c4-870f9835995b" xlink:to="loc_us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities_a710e1b5-441c-4380-bd5f-f593576e76d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_0ea5335f-488a-4b15-897f-c9410ce3fd98" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_77b5d4cb-de0a-472a-92c4-870f9835995b" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_0ea5335f-488a-4b15-897f-c9410ce3fd98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_813807f1-c897-4790-81ab-1799782736ee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_2ffa9daf-4de5-401a-b0b1-2497b05eb2ce" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_813807f1-c897-4790-81ab-1799782736ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_a5f456e3-7e2c-4c7d-9f71-d918cf2002a9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_813807f1-c897-4790-81ab-1799782736ee" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_a5f456e3-7e2c-4c7d-9f71-d918cf2002a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_0ef029f7-0f20-4fd5-842b-06e4a9ff4d5d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_813807f1-c897-4790-81ab-1799782736ee" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_0ef029f7-0f20-4fd5-842b-06e4a9ff4d5d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_fedf280d-fb83-486c-81ae-dfabe0d206f8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_813807f1-c897-4790-81ab-1799782736ee" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_fedf280d-fb83-486c-81ae-dfabe0d206f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt_3ce76383-11e9-4080-8487-f97de1e78b17" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_813807f1-c897-4790-81ab-1799782736ee" xlink:to="loc_us-gaap_RepaymentsOfLongTermDebt_3ce76383-11e9-4080-8487-f97de1e78b17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_1b661dce-11c3-4744-89be-5a9aebc70719" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_813807f1-c897-4790-81ab-1799782736ee" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_1b661dce-11c3-4744-89be-5a9aebc70719" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_996e1e16-53e9-4fd3-93ed-73883f0c710f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_2ffa9daf-4de5-401a-b0b1-2497b05eb2ce" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_996e1e16-53e9-4fd3-93ed-73883f0c710f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_ae3b4b48-bafd-4063-b863-93582d8889b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_2ffa9daf-4de5-401a-b0b1-2497b05eb2ce" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_ae3b4b48-bafd-4063-b863-93582d8889b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_c82afc8f-b678-4479-b9f2-242a73040e48" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_2ffa9daf-4de5-401a-b0b1-2497b05eb2ce" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_c82afc8f-b678-4479-b9f2-242a73040e48" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6a0fd5d0-523f-40fd-8a5a-37c4d3b72428" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_2ffa9daf-4de5-401a-b0b1-2497b05eb2ce" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6a0fd5d0-523f-40fd-8a5a-37c4d3b72428" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_62f65939-c08a-479e-a4c9-0876e976ce79" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_2ffa9daf-4de5-401a-b0b1-2497b05eb2ce" xlink:to="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_62f65939-c08a-479e-a4c9-0876e976ce79" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_ChangeInCapitalExpendituresIncurredButNotYetPaid_7f34dd2d-df1d-41c7-a111-af552f2308ea" xlink:href="form-20230401.xsd#form_ChangeInCapitalExpendituresIncurredButNotYetPaid"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_62f65939-c08a-479e-a4c9-0876e976ce79" xlink:to="loc_form_ChangeInCapitalExpendituresIncurredButNotYetPaid_7f34dd2d-df1d-41c7-a111-af552f2308ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_512c4529-033d-43f7-a3ed-d71502a4807c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NoncashInvestingAndFinancingItemsAbstract_62f65939-c08a-479e-a4c9-0876e976ce79" xlink:to="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_512c4529-033d-43f7-a3ed-d71502a4807c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract_5924a76d-0bb2-4bde-b52d-9d22a9be9467" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_2ffa9daf-4de5-401a-b0b1-2497b05eb2ce" xlink:to="loc_us-gaap_SupplementalCashFlowInformationAbstract_5924a76d-0bb2-4bde-b52d-9d22a9be9467" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet_7d8ee887-82f3-4cab-8640-8cef8940c9cc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_5924a76d-0bb2-4bde-b52d-9d22a9be9467" xlink:to="loc_us-gaap_IncomeTaxesPaidNet_7d8ee887-82f3-4cab-8640-8cef8940c9cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet_5ad3cd08-560d-4e84-958c-5b342cb30f00" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_5924a76d-0bb2-4bde-b52d-9d22a9be9467" xlink:to="loc_us-gaap_InterestPaidNet_5ad3cd08-560d-4e84-958c-5b342cb30f00" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments_a568d4e5-3990-441c-bc6a-51381a6d5429" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_5924a76d-0bb2-4bde-b52d-9d22a9be9467" xlink:to="loc_us-gaap_OperatingLeasePayments_a568d4e5-3990-441c-bc6a-51381a6d5429" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_ec9888dc-ae23-436d-b61a-d5b269d4820b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_2ffa9daf-4de5-401a-b0b1-2497b05eb2ce" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_ec9888dc-ae23-436d-b61a-d5b269d4820b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_85f143f9-d23f-4833-a9db-ae19a3390e16" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_ec9888dc-ae23-436d-b61a-d5b269d4820b" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_85f143f9-d23f-4833-a9db-ae19a3390e16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashCurrent_05abc61f-15d6-4042-bd8a-2842d1ef1377" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_ec9888dc-ae23-436d-b61a-d5b269d4820b" xlink:to="loc_us-gaap_RestrictedCashCurrent_05abc61f-15d6-4042-bd8a-2842d1ef1377" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashNoncurrent_746c68a2-0110-4a91-b1fc-a6f081018694" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_ec9888dc-ae23-436d-b61a-d5b269d4820b" xlink:to="loc_us-gaap_RestrictedCashNoncurrent_746c68a2-0110-4a91-b1fc-a6f081018694" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_a5f446f1-fa33-49e7-b038-3fe701223eb4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_ec9888dc-ae23-436d-b61a-d5b269d4820b" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_a5f446f1-fa33-49e7-b038-3fe701223eb4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies" xlink:type="simple" xlink:href="form-20230401.xsd#BasisofPresentationandSignificantAccountingPolicies"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_6e4fc94d-6119-4f05-b4be-5094d82a1f62" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock_3c478654-d1e0-4eca-ae5e-8c70ad3eb48b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_6e4fc94d-6119-4f05-b4be-5094d82a1f62" xlink:to="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock_3c478654-d1e0-4eca-ae5e-8c70ad3eb48b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks" xlink:type="simple" xlink:href="form-20230401.xsd#ConcentrationofCreditandOtherRisks"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RisksAndUncertaintiesAbstract_b81b8cbe-91e0-4aed-8ff1-9ef3cfc59f10" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RisksAndUncertaintiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskDisclosureTextBlock_f49fd8d6-e389-4442-84d2-5a223dda5b11" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RisksAndUncertaintiesAbstract_b81b8cbe-91e0-4aed-8ff1-9ef3cfc59f10" xlink:to="loc_us-gaap_ConcentrationRiskDisclosureTextBlock_f49fd8d6-e389-4442-84d2-5a223dda5b11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/Inventoriesnet" xlink:type="simple" xlink:href="form-20230401.xsd#Inventoriesnet"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/Inventoriesnet" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_df1d17e2-4e7c-46a5-9c5d-6bdca40961d0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_46de3f3f-d1ea-4df1-9f94-5926a5d2d82c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_df1d17e2-4e7c-46a5-9c5d-6bdca40961d0" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_46de3f3f-d1ea-4df1-9f94-5926a5d2d82c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssets" xlink:type="simple" xlink:href="form-20230401.xsd#GoodwillandIntangibleAssets"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/GoodwillandIntangibleAssets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_bc801d08-4f17-4bfa-af03-a8f82e077e86" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_fe87f9aa-9f19-4214-9495-576fe06b1602" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_bc801d08-4f17-4bfa-af03-a8f82e077e86" xlink:to="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_fe87f9aa-9f19-4214-9495-576fe06b1602" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/AccruedLiabilities" xlink:type="simple" xlink:href="form-20230401.xsd#AccruedLiabilities"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/AccruedLiabilities" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_d148a3e2-2e7c-4754-a984-745650f873cb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PayablesAndAccrualsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_e36b8e18-7d0a-4e66-bb6f-f5b420e9856f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_d148a3e2-2e7c-4754-a984-745650f873cb" xlink:to="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_e36b8e18-7d0a-4e66-bb6f-f5b420e9856f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/RestructuringCharges" xlink:type="simple" xlink:href="form-20230401.xsd#RestructuringCharges"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/RestructuringCharges" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_cd5b1485-4d2a-45ba-adee-590df59970a0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_59f1c10f-a345-45e8-8f38-5078b00421f8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_cd5b1485-4d2a-45ba-adee-590df59970a0" xlink:to="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_59f1c10f-a345-45e8-8f38-5078b00421f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/FairValueandDerivativeInstruments" xlink:type="simple" xlink:href="form-20230401.xsd#FairValueandDerivativeInstruments"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/FairValueandDerivativeInstruments" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_d85c880f-5ec5-4478-884f-af252f84c356" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_61fdb665-d0c8-47ba-a1ed-39855fd693ad" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_d85c880f-5ec5-4478-884f-af252f84c356" xlink:to="loc_us-gaap_FairValueDisclosuresTextBlock_61fdb665-d0c8-47ba-a1ed-39855fd693ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/Warranty" xlink:type="simple" xlink:href="form-20230401.xsd#Warranty"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/Warranty" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_68cb649a-65fb-4aad-a197-6906b3721232" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock_6ddf2acd-b67c-4289-ab4a-d21184b15045" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_68cb649a-65fb-4aad-a197-6906b3721232" xlink:to="loc_us-gaap_ProductWarrantyDisclosureTextBlock_6ddf2acd-b67c-4289-ab4a-d21184b15045" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/PropertyPlantandEquipmentnet" xlink:type="simple" xlink:href="form-20230401.xsd#PropertyPlantandEquipmentnet"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/PropertyPlantandEquipmentnet" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_23dec171-96d1-4ada-a2cd-f266966b07be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_bea8929b-f0a7-4408-a1fe-c6ecb85f0227" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_23dec171-96d1-4ada-a2cd-f266966b07be" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_bea8929b-f0a7-4408-a1fe-c6ecb85f0227" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation" xlink:type="simple" xlink:href="form-20230401.xsd#StockholdersEquityandStockBasedCompensation"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_f77a1ffc-7cca-4d60-8166-82ebadc0f606" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_830166b4-98d1-40ac-9e06-5bf64b4f4704" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_f77a1ffc-7cca-4d60-8166-82ebadc0f606" xlink:to="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_830166b4-98d1-40ac-9e06-5bf64b4f4704" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/NetIncomeperShare" xlink:type="simple" xlink:href="form-20230401.xsd#NetIncomeperShare"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/NetIncomeperShare" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_36aebf29-3bf9-4624-8cc5-8e3c6edcadfe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_83fb65b6-bb91-4259-acb7-5667a024317e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_36aebf29-3bf9-4624-8cc5-8e3c6edcadfe" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_83fb65b6-bb91-4259-acb7-5667a024317e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/CommitmentsandContingencies" xlink:type="simple" xlink:href="form-20230401.xsd#CommitmentsandContingencies"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/CommitmentsandContingencies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_8e152a36-4b8a-4a9e-a8a9-085b0c45bf7e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_36f64443-0a86-4129-af12-f96fd8079090" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_8e152a36-4b8a-4a9e-a8a9-085b0c45bf7e" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_36f64443-0a86-4129-af12-f96fd8079090" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/Leases" xlink:type="simple" xlink:href="form-20230401.xsd#Leases"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/Leases" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_d789a773-4e3b-4519-8b91-2fe80ba85f39" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_ce81dcfd-bf81-4e3e-b694-bdb3c0b44ce4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_d789a773-4e3b-4519-8b91-2fe80ba85f39" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_ce81dcfd-bf81-4e3e-b694-bdb3c0b44ce4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/Revenue" xlink:type="simple" xlink:href="form-20230401.xsd#Revenue"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/Revenue" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_83cd654b-87dc-49bb-9588-be72a70d5840" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_6ce9d2ea-3bc0-4627-b896-62727260ee04" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_83cd654b-87dc-49bb-9588-be72a70d5840" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_6ce9d2ea-3bc0-4627-b896-62727260ee04" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation" xlink:type="simple" xlink:href="form-20230401.xsd#OperatingSegmentsandEnterpriseWideInformation"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_d4f254de-e695-4238-b7fc-915cdb5f979b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock_4e81f655-bd7d-4742-b4f2-7ca02b634164" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_d4f254de-e695-4238-b7fc-915cdb5f979b" xlink:to="loc_us-gaap_SegmentReportingDisclosureTextBlock_4e81f655-bd7d-4742-b4f2-7ca02b634164" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="form-20230401.xsd#BasisofPresentationandSignificantAccountingPoliciesPolicies"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_9ae66b0d-75a6-403a-98d4-19d4c51d0730" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_2cf04ca4-ae14-49bc-a808-6e9a590d1872" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_9ae66b0d-75a6-403a-98d4-19d4c51d0730" xlink:to="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_2cf04ca4-ae14-49bc-a808-6e9a590d1872" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiscalPeriod_e4c4592d-003f-4dd7-ab14-617612567e18" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiscalPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_9ae66b0d-75a6-403a-98d4-19d4c51d0730" xlink:to="loc_us-gaap_FiscalPeriod_e4c4592d-003f-4dd7-ab14-617612567e18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_3b26936f-d54d-4475-b2c6-1c15128a340c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_9ae66b0d-75a6-403a-98d4-19d4c51d0730" xlink:to="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_3b26936f-d54d-4475-b2c6-1c15128a340c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables" xlink:type="simple" xlink:href="form-20230401.xsd#ConcentrationofCreditandOtherRisksTables"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RisksAndUncertaintiesAbstract_e4fa897d-9a64-4163-a189-1f9afbd016dd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RisksAndUncertaintiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_18e5611a-0d54-4957-937a-28e0aed94b98" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RisksAndUncertaintiesAbstract_e4fa897d-9a64-4163-a189-1f9afbd016dd" xlink:to="loc_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_18e5611a-0d54-4957-937a-28e0aed94b98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/InventoriesnetTables" xlink:type="simple" xlink:href="form-20230401.xsd#InventoriesnetTables"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/InventoriesnetTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_483ae69b-1d0f-479b-aa39-fe2b62306525" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_4db2f155-cb7d-4855-a539-2a7f1ed397fe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_483ae69b-1d0f-479b-aa39-fe2b62306525" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_4db2f155-cb7d-4855-a539-2a7f1ed397fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables" xlink:type="simple" xlink:href="form-20230401.xsd#GoodwillandIntangibleAssetsTables"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_8b0397a8-f88e-408c-8ec3-bea23230f4be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock_689dc658-2b2c-4134-8248-77d58acdd086" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_8b0397a8-f88e-408c-8ec3-bea23230f4be" xlink:to="loc_us-gaap_ScheduleOfGoodwillTextBlock_689dc658-2b2c-4134-8248-77d58acdd086" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_0fc3ad89-5da8-44cf-b9b7-5736ffcf8622" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_8b0397a8-f88e-408c-8ec3-bea23230f4be" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_0fc3ad89-5da8-44cf-b9b7-5736ffcf8622" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_5f550ac3-92db-48a7-b1e6-0e8498f50476" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_8b0397a8-f88e-408c-8ec3-bea23230f4be" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_5f550ac3-92db-48a7-b1e6-0e8498f50476" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_ad5812d3-02f2-44fd-a61d-3f65bdf3398a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_8b0397a8-f88e-408c-8ec3-bea23230f4be" xlink:to="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_ad5812d3-02f2-44fd-a61d-3f65bdf3398a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/AccruedLiabilitiesTables" xlink:type="simple" xlink:href="form-20230401.xsd#AccruedLiabilitiesTables"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/AccruedLiabilitiesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_7f1e8975-e60d-4360-a26f-4fa5b4c92c4d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PayablesAndAccrualsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_e1c1d12f-0841-4a86-8317-1dd97a86364b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_7f1e8975-e60d-4360-a26f-4fa5b4c92c4d" xlink:to="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_e1c1d12f-0841-4a86-8317-1dd97a86364b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/RestructuringChargesTables" xlink:type="simple" xlink:href="form-20230401.xsd#RestructuringChargesTables"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/RestructuringChargesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_276e570e-bb11-4c58-b2aa-07eb4a78414f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_8292867f-8aea-4781-93ed-849494464ace" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_276e570e-bb11-4c58-b2aa-07eb4a78414f" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_8292867f-8aea-4781-93ed-849494464ace" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_94dfbd87-ee3a-49da-94d0-122976bcd934" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_276e570e-bb11-4c58-b2aa-07eb4a78414f" xlink:to="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_94dfbd87-ee3a-49da-94d0-122976bcd934" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables" xlink:type="simple" xlink:href="form-20230401.xsd#FairValueandDerivativeInstrumentsTables"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_b2808073-e531-45c6-a1cb-1f73d39c967c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_89b781d9-9e19-4f14-a6c2-92a8fabd9974" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_b2808073-e531-45c6-a1cb-1f73d39c967c" xlink:to="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_89b781d9-9e19-4f14-a6c2-92a8fabd9974" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock_493235cc-fd76-4483-b21c-963e3602c370" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_b2808073-e531-45c6-a1cb-1f73d39c967c" xlink:to="loc_us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock_493235cc-fd76-4483-b21c-963e3602c370" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/WarrantyTables" xlink:type="simple" xlink:href="form-20230401.xsd#WarrantyTables"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/WarrantyTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_218c2c7f-43a5-4762-8263-3adf52ff0a97" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_b08998e0-2617-4775-9ab0-380a62d5b86e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_218c2c7f-43a5-4762-8263-3adf52ff0a97" xlink:to="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_b08998e0-2617-4775-9ab0-380a62d5b86e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables" xlink:type="simple" xlink:href="form-20230401.xsd#PropertyPlantandEquipmentnetTables"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_10b6fc7b-bb3d-4d16-8dba-84ce399d6958" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_b7867d0f-8cd1-48e2-8195-2f1c0ac1f46b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_10b6fc7b-bb3d-4d16-8dba-84ce399d6958" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_b7867d0f-8cd1-48e2-8195-2f1c0ac1f46b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables" xlink:type="simple" xlink:href="form-20230401.xsd#StockholdersEquityandStockBasedCompensationTables"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_869eff65-8116-4388-82e3-ffb485469893" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_dcc5f445-95ad-4e5f-a120-bd44a8728f3a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_869eff65-8116-4388-82e3-ffb485469893" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_dcc5f445-95ad-4e5f-a120-bd44a8728f3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_953b778f-b9ee-4435-bd55-602687aa69da" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_869eff65-8116-4388-82e3-ffb485469893" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock_953b778f-b9ee-4435-bd55-602687aa69da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_fdd01351-09ef-4d34-989c-f0967d636be2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_869eff65-8116-4388-82e3-ffb485469893" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_fdd01351-09ef-4d34-989c-f0967d636be2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock_d735f1b9-e307-45a7-b6d1-15fe0f1e0fd4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_869eff65-8116-4388-82e3-ffb485469893" xlink:to="loc_us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock_d735f1b9-e307-45a7-b6d1-15fe0f1e0fd4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/NetIncomeperShareTables" xlink:type="simple" xlink:href="form-20230401.xsd#NetIncomeperShareTables"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/NetIncomeperShareTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_33a6edce-d7a4-4c13-af14-8428ad9065ee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_9d4c1da8-32b4-4dc2-bd7c-4dc9bb5342e5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_33a6edce-d7a4-4c13-af14-8428ad9065ee" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_9d4c1da8-32b4-4dc2-bd7c-4dc9bb5342e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/LeasesTables" xlink:type="simple" xlink:href="form-20230401.xsd#LeasesTables"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/LeasesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_8b99fec9-8c2f-46ca-8ceb-ef20759d558d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock_ea365331-45f7-46fa-890e-5afa1a76d533" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_8b99fec9-8c2f-46ca-8ceb-ef20759d558d" xlink:to="loc_us-gaap_LeaseCostTableTextBlock_ea365331-45f7-46fa-890e-5afa1a76d533" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_03e84c69-0d83-49d2-86cd-e3ae785fa932" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_8b99fec9-8c2f-46ca-8ceb-ef20759d558d" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_03e84c69-0d83-49d2-86cd-e3ae785fa932" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables" xlink:type="simple" xlink:href="form-20230401.xsd#OperatingSegmentsandEnterpriseWideInformationTables"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_dc6f9533-f438-49e2-bc07-d30447773c10" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_46ba33f6-0197-45e7-8044-f20aa2ddf695" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_dc6f9533-f438-49e2-bc07-d30447773c10" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_46ba33f6-0197-45e7-8044-f20aa2ddf695" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_db81a4bf-db18-4685-8e9b-f5d8dfd017b4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_dc6f9533-f438-49e2-bc07-d30447773c10" xlink:to="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_db81a4bf-db18-4685-8e9b-f5d8dfd017b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails" xlink:type="simple" xlink:href="form-20230401.xsd#BasisofPresentationandSignificantAccountingPoliciesDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_0adcc96b-16ba-46dc-a22b-630ec0babde8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_DeferredGovernmentGrantLiability_48908b14-881e-4217-bee1-9519d9f6f4d5" xlink:href="form-20230401.xsd#form_DeferredGovernmentGrantLiability"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_0adcc96b-16ba-46dc-a22b-630ec0babde8" xlink:to="loc_form_DeferredGovernmentGrantLiability_48908b14-881e-4217-bee1-9519d9f6f4d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_DeferredGovernmentGrantLiabilityTerm_c4c1b06d-4434-458e-872f-e730172a16d7" xlink:href="form-20230401.xsd#form_DeferredGovernmentGrantLiabilityTerm"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_0adcc96b-16ba-46dc-a22b-630ec0babde8" xlink:to="loc_form_DeferredGovernmentGrantLiabilityTerm_c4c1b06d-4434-458e-872f-e730172a16d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" xlink:type="simple" xlink:href="form-20230401.xsd#ConcentrationofCreditandOtherRisksDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RisksAndUncertaintiesAbstract_b2e2a7d3-aab3-4f0f-9a97-c9add0b462e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RisksAndUncertaintiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable_7c431bbf-0054-49bc-b1ec-733b439052dd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RisksAndUncertaintiesAbstract_b2e2a7d3-aab3-4f0f-9a97-c9add0b462e0" xlink:to="loc_us-gaap_ConcentrationRiskTable_7c431bbf-0054-49bc-b1ec-733b439052dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_e3426a4e-3f3d-4905-a99b-f49d4874448a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_7c431bbf-0054-49bc-b1ec-733b439052dd" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_e3426a4e-3f3d-4905-a99b-f49d4874448a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_b9c15c56-fed5-4e43-9a5c-98f4f76cdfbb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_e3426a4e-3f3d-4905-a99b-f49d4874448a" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_b9c15c56-fed5-4e43-9a5c-98f4f76cdfbb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_22f91e32-599d-4f7c-8472-f9731c0bc9a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_b9c15c56-fed5-4e43-9a5c-98f4f76cdfbb" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_22f91e32-599d-4f7c-8472-f9731c0bc9a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_148f46af-4d93-4fd5-885a-039286a9f2bb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_7c431bbf-0054-49bc-b1ec-733b439052dd" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_148f46af-4d93-4fd5-885a-039286a9f2bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_238caf03-4b3c-40ea-8cad-49704997345d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_148f46af-4d93-4fd5-885a-039286a9f2bb" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_238caf03-4b3c-40ea-8cad-49704997345d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember_3e0d09e2-34bf-450c-8cce-ecf1ef94577f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_238caf03-4b3c-40ea-8cad-49704997345d" xlink:to="loc_us-gaap_SalesRevenueNetMember_3e0d09e2-34bf-450c-8cce-ecf1ef94577f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerMember_ef5b2ec5-f656-4d02-863d-86c2c4b7723f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_238caf03-4b3c-40ea-8cad-49704997345d" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerMember_ef5b2ec5-f656-4d02-863d-86c2c4b7723f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember_d6e4e6e9-e73b-4e04-9d92-ae27a9bb15c9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_238caf03-4b3c-40ea-8cad-49704997345d" xlink:to="loc_us-gaap_AccountsReceivableMember_d6e4e6e9-e73b-4e04-9d92-ae27a9bb15c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_2ebd2819-ece5-437e-965b-e60ec217dde1" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_7c431bbf-0054-49bc-b1ec-733b439052dd" xlink:to="loc_srt_MajorCustomersAxis_2ebd2819-ece5-437e-965b-e60ec217dde1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_MajorCustomersAxis_2ebd2819-ece5-437e-965b-e60ec217dde1" xlink:to="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_TwoMajorCustomersMember_1debd7a6-bf71-4ea3-a730-f44ddc819a0d" xlink:href="form-20230401.xsd#form_TwoMajorCustomersMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:to="loc_form_TwoMajorCustomersMember_1debd7a6-bf71-4ea3-a730-f44ddc819a0d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_IntelMember_1f86eb2d-afbe-4261-8958-41a5ad58563e" xlink:href="form-20230401.xsd#form_IntelMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:to="loc_form_IntelMember_1f86eb2d-afbe-4261-8958-41a5ad58563e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_TaiwanSemiconductorManufacturingCoLTDMember_6a9fa1a1-d9b5-48d1-9223-e04a5f65b152" xlink:href="form-20230401.xsd#form_TaiwanSemiconductorManufacturingCoLTDMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:to="loc_form_TaiwanSemiconductorManufacturingCoLTDMember_6a9fa1a1-d9b5-48d1-9223-e04a5f65b152" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_CustomersRepresenting10OrMoreOfTotalRevenuesMember_da3007db-c02b-4b55-a1d4-306dcaba4fec" xlink:href="form-20230401.xsd#form_CustomersRepresenting10OrMoreOfTotalRevenuesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:to="loc_form_CustomersRepresenting10OrMoreOfTotalRevenuesMember_da3007db-c02b-4b55-a1d4-306dcaba4fec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_MajorCustomer1Member_dd5034d8-6ec6-4d06-ba4a-11bedca15706" xlink:href="form-20230401.xsd#form_MajorCustomer1Member"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:to="loc_form_MajorCustomer1Member_dd5034d8-6ec6-4d06-ba4a-11bedca15706" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_MajorCustomer2Member_227bdce6-3619-496c-a068-9d6bffea720b" xlink:href="form-20230401.xsd#form_MajorCustomer2Member"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_36062dc3-b0e3-452b-88eb-b1f160f408fc" xlink:to="loc_form_MajorCustomer2Member_227bdce6-3619-496c-a068-9d6bffea720b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_33416b0b-f278-456f-857e-0a5ed4999196" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_7c431bbf-0054-49bc-b1ec-733b439052dd" xlink:to="loc_us-gaap_ConcentrationRiskLineItems_33416b0b-f278-456f-857e-0a5ed4999196" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_6090bff6-ef9d-4a31-b606-7e9037b13714" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_33416b0b-f278-456f-857e-0a5ed4999196" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_6090bff6-ef9d-4a31-b606-7e9037b13714" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/InventoriesnetDetails" xlink:type="simple" xlink:href="form-20230401.xsd#InventoriesnetDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/InventoriesnetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_e9210116-48a0-436a-bb90-01fb7c1c6a4f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_555e0811-44f0-47d2-ab1b-7f6fb3c0c704" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_e9210116-48a0-436a-bb90-01fb7c1c6a4f" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_555e0811-44f0-47d2-ab1b-7f6fb3c0c704" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_e465710e-cd28-4cd5-b4fb-a0dcb1b3a1c2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_e9210116-48a0-436a-bb90-01fb7c1c6a4f" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_e465710e-cd28-4cd5-b4fb-a0dcb1b3a1c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_37776b44-e280-4cd0-9d2b-162155b25867" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_e9210116-48a0-436a-bb90-01fb7c1c6a4f" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_37776b44-e280-4cd0-9d2b-162155b25867" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_45e61543-fa98-4791-98fc-04d25d848572" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_e9210116-48a0-436a-bb90-01fb7c1c6a4f" xlink:to="loc_us-gaap_InventoryNet_45e61543-fa98-4791-98fc-04d25d848572" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" xlink:type="simple" xlink:href="form-20230401.xsd#GoodwillandIntangibleAssetsGoodwillDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_443a588e-f9f3-4a47-9602-16835a0fafb1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_35f4ecb6-d63e-43b3-995b-285c0bbb0a7c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_443a588e-f9f3-4a47-9602-16835a0fafb1" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_35f4ecb6-d63e-43b3-995b-285c0bbb0a7c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_3f4713ce-a4a7-417b-8ca9-8ef23ec8c776" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_35f4ecb6-d63e-43b3-995b-285c0bbb0a7c" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_3f4713ce-a4a7-417b-8ca9-8ef23ec8c776" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_d80c4d5f-06d6-47ea-b639-39ac3f5ca5fd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_3f4713ce-a4a7-417b-8ca9-8ef23ec8c776" xlink:to="loc_us-gaap_SegmentDomain_d80c4d5f-06d6-47ea-b639-39ac3f5ca5fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_ProbeCardsSegmentMember_a7092d93-b0b8-4e95-a54a-18a069bf1223" xlink:href="form-20230401.xsd#form_ProbeCardsSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_d80c4d5f-06d6-47ea-b639-39ac3f5ca5fd" xlink:to="loc_form_ProbeCardsSegmentMember_a7092d93-b0b8-4e95-a54a-18a069bf1223" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_SystemsSegmentMember_267ee820-d033-4c2a-8916-e46f96a8aeb8" xlink:href="form-20230401.xsd#form_SystemsSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_d80c4d5f-06d6-47ea-b639-39ac3f5ca5fd" xlink:to="loc_form_SystemsSegmentMember_267ee820-d033-4c2a-8916-e46f96a8aeb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_8eb32265-53c5-45f9-a126-721d4e82b73c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_35f4ecb6-d63e-43b3-995b-285c0bbb0a7c" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_8eb32265-53c5-45f9-a126-721d4e82b73c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e7ceaad0-5550-410c-ac48-202de7b322ca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_8eb32265-53c5-45f9-a126-721d4e82b73c" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e7ceaad0-5550-410c-ac48-202de7b322ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_WoburnMember_c458818e-5822-440e-8402-57fae8f63abc" xlink:href="form-20230401.xsd#form_WoburnMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e7ceaad0-5550-410c-ac48-202de7b322ca" xlink:to="loc_form_WoburnMember_c458818e-5822-440e-8402-57fae8f63abc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems_6976c45e-4e63-40b2-abfd-1654afb80df9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_35f4ecb6-d63e-43b3-995b-285c0bbb0a7c" xlink:to="loc_us-gaap_GoodwillLineItems_6976c45e-4e63-40b2-abfd-1654afb80df9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_7690f274-af2c-475d-9f78-f2a8f953bee0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_6976c45e-4e63-40b2-abfd-1654afb80df9" xlink:to="loc_us-gaap_GoodwillRollForward_7690f274-af2c-475d-9f78-f2a8f953bee0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_fff5c4ce-7e08-4d91-a573-150199970d9d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_7690f274-af2c-475d-9f78-f2a8f953bee0" xlink:to="loc_us-gaap_Goodwill_fff5c4ce-7e08-4d91-a573-150199970d9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_88416361-1c5b-4f2b-bb3d-18611c511da8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_7690f274-af2c-475d-9f78-f2a8f953bee0" xlink:to="loc_us-gaap_GoodwillAcquiredDuringPeriod_88416361-1c5b-4f2b-bb3d-18611c511da8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_9b1b4441-5809-4e03-ad90-c34a04eb2669" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_7690f274-af2c-475d-9f78-f2a8f953bee0" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_9b1b4441-5809-4e03-ad90-c34a04eb2669" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_ff4ba65a-c3c9-4a68-a644-cc72d3de7647" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_7690f274-af2c-475d-9f78-f2a8f953bee0" xlink:to="loc_us-gaap_Goodwill_ff4ba65a-c3c9-4a68-a644-cc72d3de7647" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsAdditionalinformationDetails" xlink:type="simple" xlink:href="form-20230401.xsd#GoodwillandIntangibleAssetsAdditionalinformationDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/GoodwillandIntangibleAssetsAdditionalinformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_19cec3cd-735c-461a-8b5d-ef04705163cc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLoss_51c99827-188c-43d1-a164-385121264e28" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillImpairmentLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_19cec3cd-735c-461a-8b5d-ef04705163cc" xlink:to="loc_us-gaap_GoodwillImpairmentLoss_51c99827-188c-43d1-a164-385121264e28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" xlink:type="simple" xlink:href="form-20230401.xsd#GoodwillandIntangibleAssetsIntangibleAssetsDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_1df6cb76-52fd-41eb-8b9c-17003793032a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e8b1e4c9-9fc3-48d9-9015-b62bd739b724" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_1df6cb76-52fd-41eb-8b9c-17003793032a" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e8b1e4c9-9fc3-48d9-9015-b62bd739b724" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_501d8d75-c5c0-4425-aaa8-266786e30801" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e8b1e4c9-9fc3-48d9-9015-b62bd739b724" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_501d8d75-c5c0-4425-aaa8-266786e30801" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fa5de666-0f66-459f-be1e-c630eb51943e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_501d8d75-c5c0-4425-aaa8-266786e30801" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fa5de666-0f66-459f-be1e-c630eb51943e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_ExistingDevelopedTechnologiesMember_3a55c8ec-7746-4169-aedb-a16187a3eb39" xlink:href="form-20230401.xsd#form_ExistingDevelopedTechnologiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fa5de666-0f66-459f-be1e-c630eb51943e" xlink:to="loc_form_ExistingDevelopedTechnologiesMember_3a55c8ec-7746-4169-aedb-a16187a3eb39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_187569d6-ee6f-4a4d-b3d6-f7cc5ae9eb4a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fa5de666-0f66-459f-be1e-c630eb51943e" xlink:to="loc_us-gaap_CustomerRelationshipsMember_187569d6-ee6f-4a4d-b3d6-f7cc5ae9eb4a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeNamesMember_2176beef-ee14-4284-9aab-9f28063452ef" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeNamesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fa5de666-0f66-459f-be1e-c630eb51943e" xlink:to="loc_us-gaap_TradeNamesMember_2176beef-ee14-4284-9aab-9f28063452ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InProcessResearchAndDevelopmentMember_7057fcf2-a816-43d5-a36c-063c3f3d762d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InProcessResearchAndDevelopmentMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_fa5de666-0f66-459f-be1e-c630eb51943e" xlink:to="loc_us-gaap_InProcessResearchAndDevelopmentMember_7057fcf2-a816-43d5-a36c-063c3f3d762d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_5afce842-409a-44cc-adf9-a534036db820" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e8b1e4c9-9fc3-48d9-9015-b62bd739b724" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_5afce842-409a-44cc-adf9-a534036db820" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_27ea72f6-fc37-450c-a697-cae1f9533b7f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_5afce842-409a-44cc-adf9-a534036db820" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_27ea72f6-fc37-450c-a697-cae1f9533b7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_71240694-4e3e-402b-9216-80fecbfd32a3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_5afce842-409a-44cc-adf9-a534036db820" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_71240694-4e3e-402b-9216-80fecbfd32a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_75a24cfc-4e1f-4250-8b90-789102d812c6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_5afce842-409a-44cc-adf9-a534036db820" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_75a24cfc-4e1f-4250-8b90-789102d812c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" xlink:type="simple" xlink:href="form-20230401.xsd#GoodwillandIntangibleAssetsAmortizationExpenseDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_6334a533-88f9-4348-8845-bcb961f06964" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_e4973139-fd94-46d0-99f0-32f97df2efd9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_6334a533-88f9-4348-8845-bcb961f06964" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_e4973139-fd94-46d0-99f0-32f97df2efd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_a3a5d0d3-931a-41fa-96f0-0fa3e89945c3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_e4973139-fd94-46d0-99f0-32f97df2efd9" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_a3a5d0d3-931a-41fa-96f0-0fa3e89945c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_f9cfa8ba-1883-41a7-84c6-3c12547475ee" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_a3a5d0d3-931a-41fa-96f0-0fa3e89945c3" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_f9cfa8ba-1883-41a7-84c6-3c12547475ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_9b364dda-bcd4-44b4-9f0a-d3925f8076a3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_f9cfa8ba-1883-41a7-84c6-3c12547475ee" xlink:to="loc_us-gaap_CostOfSalesMember_9b364dda-bcd4-44b4-9f0a-d3925f8076a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_77b17f8d-e723-4ace-a7af-6c0530c010af" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_f9cfa8ba-1883-41a7-84c6-3c12547475ee" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_77b17f8d-e723-4ace-a7af-6c0530c010af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9602d808-91d8-40a4-9dfb-cc57f29b7f04" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_e4973139-fd94-46d0-99f0-32f97df2efd9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9602d808-91d8-40a4-9dfb-cc57f29b7f04" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_9df039db-afd3-463b-924b-0de4a3f0805f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9602d808-91d8-40a4-9dfb-cc57f29b7f04" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_9df039db-afd3-463b-924b-0de4a3f0805f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9602d808-91d8-40a4-9dfb-cc57f29b7f04" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_72c377cb-bc0c-49d6-b71f-d7935b610528" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_72c377cb-bc0c-49d6-b71f-d7935b610528" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_8c5de6b1-f9c2-4e42-bb03-70bd728253b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_8c5de6b1-f9c2-4e42-bb03-70bd728253b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_e4ec9b4f-8640-4706-878f-222265f96545" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_e4ec9b4f-8640-4706-878f-222265f96545" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_d3cc5c22-361e-4570-8762-a882be4a93db" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_d3cc5c22-361e-4570-8762-a882be4a93db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_239b9b56-a693-4706-a245-7053430cca0b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_239b9b56-a693-4706-a245-7053430cca0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_661c175c-bc95-478f-a520-010a7951c6c9" xlink:href="form-20230401.xsd#form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:to="loc_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour_661c175c-bc95-478f-a520-010a7951c6c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal_c32e1174-c43d-47b3-b13a-872b997c915d" xlink:href="form-20230401.xsd#form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract_b75bdc08-7296-4f44-a6a9-1775d8b7a8a0" xlink:to="loc_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal_c32e1174-c43d-47b3-b13a-872b997c915d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/AccruedLiabilitiesDetails" xlink:type="simple" xlink:href="form-20230401.xsd#AccruedLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/AccruedLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_d96d0b25-6f67-4a27-ba63-44ae64fe2828" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PayablesAndAccrualsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_c5eaa300-32f9-4a15-900c-32bb59f93fe5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_d96d0b25-6f67-4a27-ba63-44ae64fe2828" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_c5eaa300-32f9-4a15-900c-32bb59f93fe5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrentAndNoncurrent_6a433000-8249-4147-bec0-d7a002094e95" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TaxesPayableCurrentAndNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_d96d0b25-6f67-4a27-ba63-44ae64fe2828" xlink:to="loc_us-gaap_TaxesPayableCurrentAndNoncurrent_6a433000-8249-4147-bec0-d7a002094e95" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_2ca76cdd-4d6b-4daf-b493-cbb8a6e6310c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_d96d0b25-6f67-4a27-ba63-44ae64fe2828" xlink:to="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_2ca76cdd-4d6b-4daf-b493-cbb8a6e6310c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedEmployeeBenefitsCurrent_86b5b1d5-ccf8-40f6-a0ba-7594351fc15d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_d96d0b25-6f67-4a27-ba63-44ae64fe2828" xlink:to="loc_us-gaap_AccruedEmployeeBenefitsCurrent_86b5b1d5-ccf8-40f6-a0ba-7594351fc15d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_53009684-c338-4661-b635-b2f45bf1e0fa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_d96d0b25-6f67-4a27-ba63-44ae64fe2828" xlink:to="loc_us-gaap_RestructuringReserve_53009684-c338-4661-b635-b2f45bf1e0fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_20dea3fc-d4d1-4ba3-86ce-5488b838f842" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_d96d0b25-6f67-4a27-ba63-44ae64fe2828" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_20dea3fc-d4d1-4ba3-86ce-5488b838f842" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_40877f0b-74ff-414e-a4ad-500f67cd7b2c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_d96d0b25-6f67-4a27-ba63-44ae64fe2828" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_40877f0b-74ff-414e-a4ad-500f67cd7b2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" xlink:type="simple" xlink:href="form-20230401.xsd#RestructuringChargesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_620bfc94-a0c6-4b42-b307-5480ef1dd5e7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f7d42cf9-3caa-4638-aac2-7f9989360c21" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_620bfc94-a0c6-4b42-b307-5480ef1dd5e7" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f7d42cf9-3caa-4638-aac2-7f9989360c21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanAxis_72435f13-e827-4f4c-9297-3c0852a339a3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringPlanAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f7d42cf9-3caa-4638-aac2-7f9989360c21" xlink:to="loc_us-gaap_RestructuringPlanAxis_72435f13-e827-4f4c-9297-3c0852a339a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanDomain_75c9ba4f-197d-4274-b00d-7a619accb83a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringPlanDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringPlanAxis_72435f13-e827-4f4c-9297-3c0852a339a3" xlink:to="loc_us-gaap_RestructuringPlanDomain_75c9ba4f-197d-4274-b00d-7a619accb83a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_A2022RestructuringPlanMember_ddb9f20a-d8f9-4350-8464-4c9d7efa763b" xlink:href="form-20230401.xsd#form_A2022RestructuringPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringPlanDomain_75c9ba4f-197d-4274-b00d-7a619accb83a" xlink:to="loc_form_A2022RestructuringPlanMember_ddb9f20a-d8f9-4350-8464-4c9d7efa763b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_A2021RestructuringPlanMember_32f16ed0-2097-48a6-a7c2-2dc75b3d278a" xlink:href="form-20230401.xsd#form_A2021RestructuringPlanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringPlanDomain_75c9ba4f-197d-4274-b00d-7a619accb83a" xlink:to="loc_form_A2021RestructuringPlanMember_32f16ed0-2097-48a6-a7c2-2dc75b3d278a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_09de7583-5603-41f1-a17b-92bb0261a692" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f7d42cf9-3caa-4638-aac2-7f9989360c21" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_09de7583-5603-41f1-a17b-92bb0261a692" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_b0bb1fa9-0130-4aa4-85f6-6c91adbfb1eb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_09de7583-5603-41f1-a17b-92bb0261a692" xlink:to="loc_us-gaap_SegmentDomain_b0bb1fa9-0130-4aa4-85f6-6c91adbfb1eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_ProbeCardsSegmentMember_6b4c0d2d-9175-4d4d-a368-c1864f637ede" xlink:href="form-20230401.xsd#form_ProbeCardsSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_b0bb1fa9-0130-4aa4-85f6-6c91adbfb1eb" xlink:to="loc_form_ProbeCardsSegmentMember_6b4c0d2d-9175-4d4d-a368-c1864f637ede" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_SystemsSegmentMember_435540f2-8331-4895-a600-04154dc7c06f" xlink:href="form-20230401.xsd#form_SystemsSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_b0bb1fa9-0130-4aa4-85f6-6c91adbfb1eb" xlink:to="loc_form_SystemsSegmentMember_435540f2-8331-4895-a600-04154dc7c06f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_bd636b54-cdab-4f66-8280-c91273c1b315" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f7d42cf9-3caa-4638-aac2-7f9989360c21" xlink:to="loc_srt_ConsolidationItemsAxis_bd636b54-cdab-4f66-8280-c91273c1b315" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_af7689db-2069-420a-bd4a-d8d00bca62e9" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_bd636b54-cdab-4f66-8280-c91273c1b315" xlink:to="loc_srt_ConsolidationItemsDomain_af7689db-2069-420a-bd4a-d8d00bca62e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_0b0bddb3-5973-4fae-9f11-bd299a43bcc9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_af7689db-2069-420a-bd4a-d8d00bca62e9" xlink:to="loc_us-gaap_CorporateNonSegmentMember_0b0bddb3-5973-4fae-9f11-bd299a43bcc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_652e74a9-35db-4d21-a9ed-002326ec91de" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f7d42cf9-3caa-4638-aac2-7f9989360c21" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_652e74a9-35db-4d21-a9ed-002326ec91de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_1105dd23-5d53-4809-9972-8e25b4312974" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_652e74a9-35db-4d21-a9ed-002326ec91de" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_1105dd23-5d53-4809-9972-8e25b4312974" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_StockBasedCompensationMember_0bbbf6ba-ff66-40a6-b287-c457bd8bf3eb" xlink:href="form-20230401.xsd#form_StockBasedCompensationMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_1105dd23-5d53-4809-9972-8e25b4312974" xlink:to="loc_form_StockBasedCompensationMember_0bbbf6ba-ff66-40a6-b287-c457bd8bf3eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeSeveranceMember_8c3a1117-2a5b-4b7e-8a74-ac604deffa7d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeSeveranceMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_1105dd23-5d53-4809-9972-8e25b4312974" xlink:to="loc_us-gaap_EmployeeSeveranceMember_8c3a1117-2a5b-4b7e-8a74-ac604deffa7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractTerminationMember_1e1fd146-3b30-4f63-b01d-a3217bb71eae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractTerminationMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_1105dd23-5d53-4809-9972-8e25b4312974" xlink:to="loc_us-gaap_ContractTerminationMember_1e1fd146-3b30-4f63-b01d-a3217bb71eae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_InventoryImpairmentsMember_07eb92bf-1d51-49b6-a840-b4b59fd73b4c" xlink:href="form-20230401.xsd#form_InventoryImpairmentsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_1105dd23-5d53-4809-9972-8e25b4312974" xlink:to="loc_form_InventoryImpairmentsMember_07eb92bf-1d51-49b6-a840-b4b59fd73b4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherRestructuringMember_083360a5-bfd8-4256-9917-d11412a9b530" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherRestructuringMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_1105dd23-5d53-4809-9972-8e25b4312974" xlink:to="loc_us-gaap_OtherRestructuringMember_083360a5-bfd8-4256-9917-d11412a9b530" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_69d9d085-f761-45bc-9bbd-0212168ca35f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f7d42cf9-3caa-4638-aac2-7f9989360c21" xlink:to="loc_us-gaap_RestructuringCostAndReserveLineItems_69d9d085-f761-45bc-9bbd-0212168ca35f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent_d5d38346-fc19-47e5-8501-4ab9ea761584" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_69d9d085-f761-45bc-9bbd-0212168ca35f" xlink:to="loc_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent_d5d38346-fc19-47e5-8501-4ab9ea761584" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_281d91cd-c337-4bab-b35d-435eb49bb758" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCharges"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_69d9d085-f761-45bc-9bbd-0212168ca35f" xlink:to="loc_us-gaap_RestructuringCharges_281d91cd-c337-4bab-b35d-435eb49bb758" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" xlink:type="simple" xlink:href="form-20230401.xsd#RestructuringChargesRestructuringChargesDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_9dbfc8b7-165e-4ccb-915a-90ead300de72" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_817271bc-36d7-482d-aa73-efe9ac6a30c7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_9dbfc8b7-165e-4ccb-915a-90ead300de72" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_817271bc-36d7-482d-aa73-efe9ac6a30c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_8d7c00d0-7287-4537-a756-fb1253d44daf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_817271bc-36d7-482d-aa73-efe9ac6a30c7" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_8d7c00d0-7287-4537-a756-fb1253d44daf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_7eae5d98-3d6d-4b0f-b079-488987428b61" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_8d7c00d0-7287-4537-a756-fb1253d44daf" xlink:to="loc_us-gaap_SegmentDomain_7eae5d98-3d6d-4b0f-b079-488987428b61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_ProbeCardsSegmentMember_26ee533d-d81b-44fd-b21b-ca10dbcaa74b" xlink:href="form-20230401.xsd#form_ProbeCardsSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_7eae5d98-3d6d-4b0f-b079-488987428b61" xlink:to="loc_form_ProbeCardsSegmentMember_26ee533d-d81b-44fd-b21b-ca10dbcaa74b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_SystemsSegmentMember_3a4f32ff-b327-4ee0-9566-463e697dfdc2" xlink:href="form-20230401.xsd#form_SystemsSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_7eae5d98-3d6d-4b0f-b079-488987428b61" xlink:to="loc_form_SystemsSegmentMember_3a4f32ff-b327-4ee0-9566-463e697dfdc2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_80ebfa6f-8f57-4d19-bbaa-85ce3718faac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_817271bc-36d7-482d-aa73-efe9ac6a30c7" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_80ebfa6f-8f57-4d19-bbaa-85ce3718faac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_1ae9890b-9dd2-43bf-b0ee-3e581c1dd10a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_80ebfa6f-8f57-4d19-bbaa-85ce3718faac" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_1ae9890b-9dd2-43bf-b0ee-3e581c1dd10a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_a1619b9a-582d-48a8-9ec6-8a8e3de59f47" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_1ae9890b-9dd2-43bf-b0ee-3e581c1dd10a" xlink:to="loc_us-gaap_CostOfSalesMember_a1619b9a-582d-48a8-9ec6-8a8e3de59f47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_a0b0e605-6297-4de1-89c3-5f08f2309e76" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_1ae9890b-9dd2-43bf-b0ee-3e581c1dd10a" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_a0b0e605-6297-4de1-89c3-5f08f2309e76" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_1b598a8a-8729-4b0f-bd29-5ad09ae8a6b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_1ae9890b-9dd2-43bf-b0ee-3e581c1dd10a" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_1b598a8a-8729-4b0f-bd29-5ad09ae8a6b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_3984a88d-3946-4a48-879d-82e3153f0b10" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_817271bc-36d7-482d-aa73-efe9ac6a30c7" xlink:to="loc_us-gaap_RestructuringCostAndReserveLineItems_3984a88d-3946-4a48-879d-82e3153f0b10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_0c905f04-4a20-4b51-a0f8-5270fee2866b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCharges"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_3984a88d-3946-4a48-879d-82e3153f0b10" xlink:to="loc_us-gaap_RestructuringCharges_0c905f04-4a20-4b51-a0f8-5270fee2866b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails" xlink:type="simple" xlink:href="form-20230401.xsd#RestructuringChargesChangestotheRestructuringAccrualDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_48a3382e-4b6c-4953-a11b-667a94c56b55" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4fab6901-86c6-43ee-b9e0-30f3832825b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_48a3382e-4b6c-4953-a11b-667a94c56b55" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4fab6901-86c6-43ee-b9e0-30f3832825b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_975833eb-9297-4384-995d-78cad3defbc8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4fab6901-86c6-43ee-b9e0-30f3832825b9" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_975833eb-9297-4384-995d-78cad3defbc8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_4d9be791-34c5-4309-9594-3760006a79ec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_975833eb-9297-4384-995d-78cad3defbc8" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_4d9be791-34c5-4309-9594-3760006a79ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeSeveranceMember_54df30d8-ca83-4a88-925a-c718d42764d3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeSeveranceMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_4d9be791-34c5-4309-9594-3760006a79ec" xlink:to="loc_us-gaap_EmployeeSeveranceMember_54df30d8-ca83-4a88-925a-c718d42764d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_StockBasedCompensationMember_8451d56b-b66d-433a-a50e-5148f4ec7598" xlink:href="form-20230401.xsd#form_StockBasedCompensationMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_4d9be791-34c5-4309-9594-3760006a79ec" xlink:to="loc_form_StockBasedCompensationMember_8451d56b-b66d-433a-a50e-5148f4ec7598" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_InventoryImpairmentsMember_c25c0835-267e-4edb-8cc8-110a1be5cec4" xlink:href="form-20230401.xsd#form_InventoryImpairmentsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_4d9be791-34c5-4309-9594-3760006a79ec" xlink:to="loc_form_InventoryImpairmentsMember_c25c0835-267e-4edb-8cc8-110a1be5cec4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_cf7e6da6-0afc-4c84-9068-d76fdb19a45d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4fab6901-86c6-43ee-b9e0-30f3832825b9" xlink:to="loc_us-gaap_RestructuringCostAndReserveLineItems_cf7e6da6-0afc-4c84-9068-d76fdb19a45d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveRollForward_a13eab00-8047-4962-ba06-a1adf234498c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringReserveRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_cf7e6da6-0afc-4c84-9068-d76fdb19a45d" xlink:to="loc_us-gaap_RestructuringReserveRollForward_a13eab00-8047-4962-ba06-a1adf234498c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_96bf4f90-7fa0-42e2-8a33-14f08cbdc2dc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_a13eab00-8047-4962-ba06-a1adf234498c" xlink:to="loc_us-gaap_RestructuringReserve_96bf4f90-7fa0-42e2-8a33-14f08cbdc2dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_50617b3c-6588-4564-b838-28a1ebc9935a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringCharges"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_a13eab00-8047-4962-ba06-a1adf234498c" xlink:to="loc_us-gaap_RestructuringCharges_50617b3c-6588-4564-b838-28a1ebc9935a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRestructuring_3bd25cdc-bf9b-427c-80b3-3bd677371674" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRestructuring"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_a13eab00-8047-4962-ba06-a1adf234498c" xlink:to="loc_us-gaap_PaymentsForRestructuring_3bd25cdc-bf9b-427c-80b3-3bd677371674" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveSettledWithoutCash2_477083a9-4b3d-4cdc-be83-ca6066e373a1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringReserveSettledWithoutCash2"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_a13eab00-8047-4962-ba06-a1adf234498c" xlink:to="loc_us-gaap_RestructuringReserveSettledWithoutCash2_477083a9-4b3d-4cdc-be83-ca6066e373a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_6ec2b9d2-de74-4685-b26a-2d5725470efe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_a13eab00-8047-4962-ba06-a1adf234498c" xlink:to="loc_us-gaap_RestructuringReserve_6ec2b9d2-de74-4685-b26a-2d5725470efe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" xlink:type="simple" xlink:href="form-20230401.xsd#FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_b699073b-a6a5-4afa-8e02-1dee969a30fd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0dce3821-040e-47da-877e-4cedb0431327" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_b699073b-a6a5-4afa-8e02-1dee969a30fd" xlink:to="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0dce3821-040e-47da-877e-4cedb0431327" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_81a3935c-ee9b-4136-8a85-7a84bae40fce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0dce3821-040e-47da-877e-4cedb0431327" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_81a3935c-ee9b-4136-8a85-7a84bae40fce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_c8f9dcce-0bc6-450d-b562-e2deae02ba6a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_81a3935c-ee9b-4136-8a85-7a84bae40fce" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_c8f9dcce-0bc6-450d-b562-e2deae02ba6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_1cfa00fd-70ac-4e8c-b5bd-bb74bc1afb6e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel1Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_c8f9dcce-0bc6-450d-b562-e2deae02ba6a" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_1cfa00fd-70ac-4e8c-b5bd-bb74bc1afb6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_12e17c2e-58c8-45a5-b7a9-c1af52b8c011" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel2Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_c8f9dcce-0bc6-450d-b562-e2deae02ba6a" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_12e17c2e-58c8-45a5-b7a9-c1af52b8c011" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_e518037b-20cf-4677-bc6f-11f4b2f0d0c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_c8f9dcce-0bc6-450d-b562-e2deae02ba6a" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_e518037b-20cf-4677-bc6f-11f4b2f0d0c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByAssetClassAxis_c56dabe0-83d1-4891-9633-c24daa50fa5b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByAssetClassAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0dce3821-040e-47da-877e-4cedb0431327" xlink:to="loc_us-gaap_FairValueByAssetClassAxis_c56dabe0-83d1-4891-9633-c24daa50fa5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByAssetClassAxis_c56dabe0-83d1-4891-9633-c24daa50fa5b" xlink:to="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MoneyMarketFundsMember_e4183759-28dd-4357-9efc-1404adc118cb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MoneyMarketFundsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:to="loc_us-gaap_MoneyMarketFundsMember_e4183759-28dd-4357-9efc-1404adc118cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommercialPaperMember_2013d9a7-8e0c-4e10-948f-a6a0f40e53ba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommercialPaperMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:to="loc_us-gaap_CommercialPaperMember_2013d9a7-8e0c-4e10-948f-a6a0f40e53ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_0d1a733d-5d3d-4d9f-a310-d21a93910604" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateBondSecuritiesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_0d1a733d-5d3d-4d9f-a310-d21a93910604" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USTreasuryBillSecuritiesMember_bce6942a-eba6-40e7-8d6c-0caf4a116d9f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USTreasuryBillSecuritiesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:to="loc_us-gaap_USTreasuryBillSecuritiesMember_bce6942a-eba6-40e7-8d6c-0caf4a116d9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CertificatesOfDepositMember_537a90f7-fd89-4331-b293-cee4b21b25ca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CertificatesOfDepositMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:to="loc_us-gaap_CertificatesOfDepositMember_537a90f7-fd89-4331-b293-cee4b21b25ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_dab01eca-b36d-4da8-af0a-f934b117767e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_USGovernmentAgenciesDebtSecuritiesMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_ce2df70a-3714-4923-b9dc-b59913952daa" xlink:to="loc_us-gaap_USGovernmentAgenciesDebtSecuritiesMember_dab01eca-b36d-4da8-af0a-f934b117767e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentRiskAxis_49b3e9df-226c-4161-9654-b3bafd543a1e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0dce3821-040e-47da-877e-4cedb0431327" xlink:to="loc_us-gaap_DerivativeInstrumentRiskAxis_49b3e9df-226c-4161-9654-b3bafd543a1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_a6318f3b-21a2-4a52-b265-7d9f4b475747" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_49b3e9df-226c-4161-9654-b3bafd543a1e" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_a6318f3b-21a2-4a52-b265-7d9f4b475747" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignExchangeContractMember_a2a71421-702c-4f18-890a-e759f7486858" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeContractMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_a6318f3b-21a2-4a52-b265-7d9f4b475747" xlink:to="loc_us-gaap_ForeignExchangeContractMember_a2a71421-702c-4f18-890a-e759f7486858" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesReceivableMember_f8a05811-a16d-4015-94e6-6813f93d9b10" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesReceivableMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_a6318f3b-21a2-4a52-b265-7d9f4b475747" xlink:to="loc_us-gaap_NotesReceivableMember_f8a05811-a16d-4015-94e6-6813f93d9b10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestRateSwapMember_ad50940b-4b29-4f63-aaa5-1366cf4a8d7e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_a6318f3b-21a2-4a52-b265-7d9f4b475747" xlink:to="loc_us-gaap_InterestRateSwapMember_ad50940b-4b29-4f63-aaa5-1366cf4a8d7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationAxis_733a46f1-7cc9-4445-831c-3d28a6bf866c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0dce3821-040e-47da-877e-4cedb0431327" xlink:to="loc_us-gaap_HedgingDesignationAxis_733a46f1-7cc9-4445-831c-3d28a6bf866c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_HedgingDesignationDomain_f78ee100-d805-4bc1-afc7-305cd57ec284" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_733a46f1-7cc9-4445-831c-3d28a6bf866c" xlink:to="loc_us-gaap_HedgingDesignationDomain_f78ee100-d805-4bc1-afc7-305cd57ec284" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_4f0e53ad-32b6-48bd-bb0d-6cb73c10b6e3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DesignatedAsHedgingInstrumentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_f78ee100-d805-4bc1-afc7-305cd57ec284" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_4f0e53ad-32b6-48bd-bb0d-6cb73c10b6e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_0dce3821-040e-47da-877e-4cedb0431327" xlink:to="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_2e3d08d1-f639-4a61-a7a0-a8992dbbe694" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsFairValueDisclosure"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:to="loc_us-gaap_CashAndCashEquivalentsFairValueDisclosure_2e3d08d1-f639-4a61-a7a0-a8992dbbe694" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MarketableSecurities_72a13822-3614-4430-80df-25e7a601ab9f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MarketableSecurities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:to="loc_us-gaap_MarketableSecurities_72a13822-3614-4430-80df-25e7a601ab9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeAssets_596a1dbd-9c4b-4395-bd27-96e19c9136af" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:to="loc_us-gaap_DerivativeAssets_596a1dbd-9c4b-4395-bd27-96e19c9136af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_c3136e21-ae89-40ae-87a0-b15340dc8b21" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_c3136e21-ae89-40ae-87a0-b15340dc8b21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLiabilities_9fb93bc2-194a-4c94-9f69-7f50c7fe2ee7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:to="loc_us-gaap_DerivativeLiabilities_9fb93bc2-194a-4c94-9f69-7f50c7fe2ee7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosure_ed8096d3-cb05-4755-a1bf-46f8af9d7f18" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesFairValueDisclosure"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_10c6da8f-80fe-444e-9199-eef2e7d74987" xlink:to="loc_us-gaap_LiabilitiesFairValueDisclosure_ed8096d3-cb05-4755-a1bf-46f8af9d7f18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" xlink:type="simple" xlink:href="form-20230401.xsd#FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_024a68df-e617-4ce7-8d4c-60cecd79e4a7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeTable_19a3dac3-27f8-4e6e-a2b4-03f368e69ccc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_024a68df-e617-4ce7-8d4c-60cecd79e4a7" xlink:to="loc_us-gaap_DerivativeTable_19a3dac3-27f8-4e6e-a2b4-03f368e69ccc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PositionAxis_163fe36d-a61e-4f65-95f4-b94fde151945" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PositionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_19a3dac3-27f8-4e6e-a2b4-03f368e69ccc" xlink:to="loc_us-gaap_PositionAxis_163fe36d-a61e-4f65-95f4-b94fde151945" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PositionDomain_9e56192d-cfec-413a-8cff-d92798d7859a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PositionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PositionAxis_163fe36d-a61e-4f65-95f4-b94fde151945" xlink:to="loc_us-gaap_PositionDomain_9e56192d-cfec-413a-8cff-d92798d7859a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongMember_b485330c-521f-4a50-abe9-f3e190a31051" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PositionDomain_9e56192d-cfec-413a-8cff-d92798d7859a" xlink:to="loc_us-gaap_LongMember_b485330c-521f-4a50-abe9-f3e190a31051" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortMember_2d293603-be88-46c2-b85e-923d84376e91" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PositionDomain_9e56192d-cfec-413a-8cff-d92798d7859a" xlink:to="loc_us-gaap_ShortMember_2d293603-be88-46c2-b85e-923d84376e91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CurrencyAxis_2193751e-e004-40f6-a3bc-85f0c1593e18" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CurrencyAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_19a3dac3-27f8-4e6e-a2b4-03f368e69ccc" xlink:to="loc_srt_CurrencyAxis_2193751e-e004-40f6-a3bc-85f0c1593e18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_AllCurrenciesDomain_6828f4e7-5597-4a48-b0a7-ec7c9826ea3e" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_AllCurrenciesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_CurrencyAxis_2193751e-e004-40f6-a3bc-85f0c1593e18" xlink:to="loc_currency_AllCurrenciesDomain_6828f4e7-5597-4a48-b0a7-ec7c9826ea3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_EUR_20a91151-5677-4a79-977d-1c6895dceaed" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_EUR"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_6828f4e7-5597-4a48-b0a7-ec7c9826ea3e" xlink:to="loc_currency_EUR_20a91151-5677-4a79-977d-1c6895dceaed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_JPY_b6023b5b-0ddb-430a-8798-e5239308c000" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_JPY"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_6828f4e7-5597-4a48-b0a7-ec7c9826ea3e" xlink:to="loc_currency_JPY_b6023b5b-0ddb-430a-8798-e5239308c000" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_KRW_1353a2cb-39c4-4f27-9a07-69ef6b9ed96a" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_KRW"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_6828f4e7-5597-4a48-b0a7-ec7c9826ea3e" xlink:to="loc_currency_KRW_1353a2cb-39c4-4f27-9a07-69ef6b9ed96a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_currency_TWD_7c4302db-b5ad-4830-bd5f-d462e134159b" xlink:href="https://xbrl.sec.gov/currency/2022/currency-2022.xsd#currency_TWD"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_6828f4e7-5597-4a48-b0a7-ec7c9826ea3e" xlink:to="loc_currency_TWD_7c4302db-b5ad-4830-bd5f-d462e134159b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeInstrumentRiskAxis_e0423897-4e0a-4f73-821c-9a85d1ac342e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_19a3dac3-27f8-4e6e-a2b4-03f368e69ccc" xlink:to="loc_us-gaap_DerivativeInstrumentRiskAxis_e0423897-4e0a-4f73-821c-9a85d1ac342e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeContractTypeDomain_a404d19f-3a94-4f49-9539-a75bf22c9da6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentRiskAxis_e0423897-4e0a-4f73-821c-9a85d1ac342e" xlink:to="loc_us-gaap_DerivativeContractTypeDomain_a404d19f-3a94-4f49-9539-a75bf22c9da6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignExchangeForwardMember_6216cbbc-855f-40f2-a3aa-a832204be3b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeForwardMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeContractTypeDomain_a404d19f-3a94-4f49-9539-a75bf22c9da6" xlink:to="loc_us-gaap_ForeignExchangeForwardMember_6216cbbc-855f-40f2-a3aa-a832204be3b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeLineItems_464d54d3-ea51-45fe-b81e-60703b9fdd79" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_19a3dac3-27f8-4e6e-a2b4-03f368e69ccc" xlink:to="loc_us-gaap_DerivativeLineItems_464d54d3-ea51-45fe-b81e-60703b9fdd79" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeNotionalAmount_f70015f0-f906-444c-bf76-d6e8233ceec8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeNotionalAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeLineItems_464d54d3-ea51-45fe-b81e-60703b9fdd79" xlink:to="loc_us-gaap_DerivativeNotionalAmount_f70015f0-f906-444c-bf76-d6e8233ceec8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails" xlink:type="simple" xlink:href="form-20230401.xsd#FairValueandDerivativeInstrumentsAdditionalInformationDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_701b76dd-a3c7-48d7-9ecc-c811629021e4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_e9110e0e-e321-43e6-a733-34f3ff634727" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_701b76dd-a3c7-48d7-9ecc-c811629021e4" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_e9110e0e-e321-43e6-a733-34f3ff634727" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_76ff70cc-06d6-405e-a819-360f90247f1d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_e9110e0e-e321-43e6-a733-34f3ff634727" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_76ff70cc-06d6-405e-a819-360f90247f1d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_4ae311f9-8eea-4814-9303-49d1a8c12a74" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_76ff70cc-06d6-405e-a819-360f90247f1d" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_4ae311f9-8eea-4814-9303-49d1a8c12a74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsNonrecurringMember_a11e22ee-2221-4089-95c7-ea8faa9d9705" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsNonrecurringMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_4ae311f9-8eea-4814-9303-49d1a8c12a74" xlink:to="loc_us-gaap_FairValueMeasurementsNonrecurringMember_a11e22ee-2221-4089-95c7-ea8faa9d9705" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_80e1761d-dd01-4252-b2a6-74febe531f99" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_e9110e0e-e321-43e6-a733-34f3ff634727" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_80e1761d-dd01-4252-b2a6-74febe531f99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsFairValueDisclosure_d6511e0a-548f-444a-93f7-9bf7933e8d7a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosure"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_80e1761d-dd01-4252-b2a6-74febe531f99" xlink:to="loc_us-gaap_AssetsFairValueDisclosure_d6511e0a-548f-444a-93f7-9bf7933e8d7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosure_52e89eac-5d33-49a5-9d2b-89784ba42159" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesFairValueDisclosure"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_80e1761d-dd01-4252-b2a6-74febe531f99" xlink:to="loc_us-gaap_LiabilitiesFairValueDisclosure_52e89eac-5d33-49a5-9d2b-89784ba42159" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/WarrantyDetails" xlink:type="simple" xlink:href="form-20230401.xsd#WarrantyDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/WarrantyDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_d4e412c3-6a47-45da-88a7-1bf0bf1d8aae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_dbea8c03-fdaa-4695-a1ba-e588dda062e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_d4e412c3-6a47-45da-88a7-1bf0bf1d8aae" xlink:to="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_dbea8c03-fdaa-4695-a1ba-e588dda062e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrual_b22c2f26-e1c2-439f-b1e4-2b243d01faf6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_dbea8c03-fdaa-4695-a1ba-e588dda062e0" xlink:to="loc_us-gaap_ProductWarrantyAccrual_b22c2f26-e1c2-439f-b1e4-2b243d01faf6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_06455644-97f1-4c3d-9e2e-4d6ecddd2839" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_dbea8c03-fdaa-4695-a1ba-e588dda062e0" xlink:to="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_06455644-97f1-4c3d-9e2e-4d6ecddd2839" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualPayments_131ee7a5-7ca9-4292-b1f7-4dc4a94cc7c6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPayments"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_dbea8c03-fdaa-4695-a1ba-e588dda062e0" xlink:to="loc_us-gaap_ProductWarrantyAccrualPayments_131ee7a5-7ca9-4292-b1f7-4dc4a94cc7c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrual_2cc411f7-3627-4d7a-843c-58f0d978cd4d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrual"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_dbea8c03-fdaa-4695-a1ba-e588dda062e0" xlink:to="loc_us-gaap_ProductWarrantyAccrual_2cc411f7-3627-4d7a-843c-58f0d978cd4d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" xlink:type="simple" xlink:href="form-20230401.xsd#PropertyPlantandEquipmentnetDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_a6cb6a1d-419e-49aa-bdf5-d10538ef0849" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_7f2a7786-640c-4a50-b2a3-d3241d6ffbce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_a6cb6a1d-419e-49aa-bdf5-d10538ef0849" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_7f2a7786-640c-4a50-b2a3-d3241d6ffbce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_e805cdad-7874-48e9-baf2-3fbd69491920" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_7f2a7786-640c-4a50-b2a3-d3241d6ffbce" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_e805cdad-7874-48e9-baf2-3fbd69491920" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_e805cdad-7874-48e9-baf2-3fbd69491920" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandMember_db1259b8-bc4f-42e6-aac5-5dd0489dbf9c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:to="loc_us-gaap_LandMember_db1259b8-bc4f-42e6-aac5-5dd0489dbf9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingAndBuildingImprovementsMember_992c60be-a478-4ae2-91c7-1d38ed45c128" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingAndBuildingImprovementsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:to="loc_us-gaap_BuildingAndBuildingImprovementsMember_992c60be-a478-4ae2-91c7-1d38ed45c128" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquipmentMember_48e578af-a0e8-4f0f-b9d8-ea7e158e9421" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquipmentMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:to="loc_us-gaap_EquipmentMember_48e578af-a0e8-4f0f-b9d8-ea7e158e9421" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComputerEquipmentMember_3ed393ce-e0e0-4e12-90bf-07874a150b1f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerEquipmentMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:to="loc_us-gaap_ComputerEquipmentMember_3ed393ce-e0e0-4e12-90bf-07874a150b1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_308557b5-d873-43fe-a017-3b5233ca62f5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_308557b5-d873-43fe-a017-3b5233ca62f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_23274bdb-3a1f-440e-926f-6f49e3ce7392" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_155a5984-dcc4-4f9f-99e6-56ea369e1868" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_23274bdb-3a1f-440e-926f-6f49e3ce7392" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_ed3dc2c2-1454-46a9-ac8d-735c73d1ae97" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_7f2a7786-640c-4a50-b2a3-d3241d6ffbce" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_ed3dc2c2-1454-46a9-ac8d-735c73d1ae97" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_a2f42bc2-227f-4204-afc3-46b462982bd2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_ed3dc2c2-1454-46a9-ac8d-735c73d1ae97" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_a2f42bc2-227f-4204-afc3-46b462982bd2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_b69c87ef-643e-4a0f-b065-bf1bedfbd54e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_ed3dc2c2-1454-46a9-ac8d-735c73d1ae97" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_b69c87ef-643e-4a0f-b065-bf1bedfbd54e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress_6f1bd1cd-efbe-4ecd-ab47-304d1c5094bb" xlink:href="form-20230401.xsd#form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_ed3dc2c2-1454-46a9-ac8d-735c73d1ae97" xlink:to="loc_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress_6f1bd1cd-efbe-4ecd-ab47-304d1c5094bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConstructionInProgressGross_6b8a1973-2c18-4e26-8d4f-69ce4a5243a7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_ed3dc2c2-1454-46a9-ac8d-735c73d1ae97" xlink:to="loc_us-gaap_ConstructionInProgressGross_6b8a1973-2c18-4e26-8d4f-69ce4a5243a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_d5ac1bd5-e61d-4183-8c06-cb9b8576f5b5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_ed3dc2c2-1454-46a9-ac8d-735c73d1ae97" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_d5ac1bd5-e61d-4183-8c06-cb9b8576f5b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" xlink:type="simple" xlink:href="form-20230401.xsd#StockholdersEquityandStockBasedCompensationAdditionalInformationDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_5358af3f-6e3c-4f9d-a046-1bd78f02b929" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8414a977-fe2f-4064-911c-9f12a5ccf9ac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_5358af3f-6e3c-4f9d-a046-1bd78f02b929" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8414a977-fe2f-4064-911c-9f12a5ccf9ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_ad300b54-5e63-40bf-942a-d8c2a3614e84" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8414a977-fe2f-4064-911c-9f12a5ccf9ac" xlink:to="loc_us-gaap_StatementClassOfStockAxis_ad300b54-5e63-40bf-942a-d8c2a3614e84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_b29b4172-28a2-4dd7-a7a3-afda3f5911fe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_ad300b54-5e63-40bf-942a-d8c2a3614e84" xlink:to="loc_us-gaap_ClassOfStockDomain_b29b4172-28a2-4dd7-a7a3-afda3f5911fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_9c1aacbf-575e-43c7-8ecd-4be18700f4e3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_b29b4172-28a2-4dd7-a7a3-afda3f5911fe" xlink:to="loc_us-gaap_CommonStockMember_9c1aacbf-575e-43c7-8ecd-4be18700f4e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_07a5398f-4ab8-4003-ae42-ed7aa4fa90a7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8414a977-fe2f-4064-911c-9f12a5ccf9ac" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_07a5398f-4ab8-4003-ae42-ed7aa4fa90a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_170ba688-449a-41ad-8bf9-33a68c4aab12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareRepurchaseProgramDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_07a5398f-4ab8-4003-ae42-ed7aa4fa90a7" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_170ba688-449a-41ad-8bf9-33a68c4aab12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_October2020StockRepurchaseProgramMember_ce7b527e-a85d-42a0-abce-662e1bd91f5a" xlink:href="form-20230401.xsd#form_October2020StockRepurchaseProgramMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_170ba688-449a-41ad-8bf9-33a68c4aab12" xlink:to="loc_form_October2020StockRepurchaseProgramMember_ce7b527e-a85d-42a0-abce-662e1bd91f5a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_May2022StockRepurchaseProgramMember_3a35b71d-2891-428d-8e56-908619ab8180" xlink:href="form-20230401.xsd#form_May2022StockRepurchaseProgramMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_170ba688-449a-41ad-8bf9-33a68c4aab12" xlink:to="loc_form_May2022StockRepurchaseProgramMember_3a35b71d-2891-428d-8e56-908619ab8180" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cb1f6d0-8750-466e-827a-1192bbb0fd08" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8414a977-fe2f-4064-911c-9f12a5ccf9ac" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cb1f6d0-8750-466e-827a-1192bbb0fd08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_3ad3ffc7-4c9c-4a4c-bdf4-c2b7a3e02c5d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cb1f6d0-8750-466e-827a-1192bbb0fd08" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_3ad3ffc7-4c9c-4a4c-bdf4-c2b7a3e02c5d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_64f3b9d2-9b30-4aeb-a24b-cb00c3e2f27c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cb1f6d0-8750-466e-827a-1192bbb0fd08" xlink:to="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares_64f3b9d2-9b30-4aeb-a24b-cb00c3e2f27c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_5fbd3e4c-e820-43ee-947d-45e5eb07b203" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cb1f6d0-8750-466e-827a-1192bbb0fd08" xlink:to="loc_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue_5fbd3e4c-e820-43ee-947d-45e5eb07b203" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_5c20f156-ff32-43b3-b0ce-d3c07af532ba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3cb1f6d0-8750-466e-827a-1192bbb0fd08" xlink:to="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_5c20f156-ff32-43b3-b0ce-d3c07af532ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" xlink:type="simple" xlink:href="form-20230401.xsd#StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_58f0bc57-ac4c-4d89-a580-f87d9a98da8d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6191e2f2-690e-441f-94fa-1812affd799a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_58f0bc57-ac4c-4d89-a580-f87d9a98da8d" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6191e2f2-690e-441f-94fa-1812affd799a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_0afa67e5-82ca-4e0c-92de-c8d682f2b1f0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6191e2f2-690e-441f-94fa-1812affd799a" xlink:to="loc_us-gaap_PlanNameAxis_0afa67e5-82ca-4e0c-92de-c8d682f2b1f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_7921f2a4-26e1-4ab2-8351-f0b5f779305f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_0afa67e5-82ca-4e0c-92de-c8d682f2b1f0" xlink:to="loc_us-gaap_PlanNameDomain_7921f2a4-26e1-4ab2-8351-f0b5f779305f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_EquityIncentivePlanMember_4134525a-fda7-46aa-b155-50038ce330c2" xlink:href="form-20230401.xsd#form_EquityIncentivePlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_7921f2a4-26e1-4ab2-8351-f0b5f779305f" xlink:to="loc_form_EquityIncentivePlanMember_4134525a-fda7-46aa-b155-50038ce330c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_278537ba-f8bf-4a84-b75b-d397d1479d04" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6191e2f2-690e-441f-94fa-1812affd799a" xlink:to="loc_us-gaap_AwardTypeAxis_278537ba-f8bf-4a84-b75b-d397d1479d04" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_82a41f05-f6fb-42c2-8a26-829f0e8d37d2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_278537ba-f8bf-4a84-b75b-d397d1479d04" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_82a41f05-f6fb-42c2-8a26-829f0e8d37d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_3a669f05-3819-4851-a436-9e4d0814a396" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_82a41f05-f6fb-42c2-8a26-829f0e8d37d2" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_3a669f05-3819-4851-a436-9e4d0814a396" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16f260f0-9527-42eb-b78f-78677b6e0168" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6191e2f2-690e-441f-94fa-1812affd799a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16f260f0-9527-42eb-b78f-78677b6e0168" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_af392231-a059-424d-bdb5-269e12d10904" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16f260f0-9527-42eb-b78f-78677b6e0168" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_af392231-a059-424d-bdb5-269e12d10904" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_cd4597db-0fb1-4635-be9a-f2d010f6dc16" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_af392231-a059-424d-bdb5-269e12d10904" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_cd4597db-0fb1-4635-be9a-f2d010f6dc16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_972f1ed8-999d-40f9-a916-8dd7a96d46d3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_af392231-a059-424d-bdb5-269e12d10904" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_972f1ed8-999d-40f9-a916-8dd7a96d46d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_b6a938fa-42d1-40fe-9ac3-acd50665c4eb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_af392231-a059-424d-bdb5-269e12d10904" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_b6a938fa-42d1-40fe-9ac3-acd50665c4eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_e3e00d03-b887-4d21-a24f-b5ad20becc99" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_af392231-a059-424d-bdb5-269e12d10904" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_e3e00d03-b887-4d21-a24f-b5ad20becc99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_e3018ba7-ae41-4ffb-976b-f5b7cb3075f1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_af392231-a059-424d-bdb5-269e12d10904" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_e3018ba7-ae41-4ffb-976b-f5b7cb3075f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_6e353f7e-bb74-4111-bc2f-fa550b307000" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_16f260f0-9527-42eb-b78f-78677b6e0168" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_6e353f7e-bb74-4111-bc2f-fa550b307000" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_9880af93-9842-48c3-883a-b81f988f10a0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_6e353f7e-bb74-4111-bc2f-fa550b307000" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_9880af93-9842-48c3-883a-b81f988f10a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_01f4d18a-18a1-4788-a34a-5c9bda739e41" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_6e353f7e-bb74-4111-bc2f-fa550b307000" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_01f4d18a-18a1-4788-a34a-5c9bda739e41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_c149ac6a-5797-4e7e-a19b-e6e8567e0c61" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_6e353f7e-bb74-4111-bc2f-fa550b307000" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_c149ac6a-5797-4e7e-a19b-e6e8567e0c61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_13838d3d-ff5d-43a8-a3cb-51f6f4e1300a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_6e353f7e-bb74-4111-bc2f-fa550b307000" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_13838d3d-ff5d-43a8-a3cb-51f6f4e1300a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_487934e8-60ff-4b26-9834-b909fe50f88e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_6e353f7e-bb74-4111-bc2f-fa550b307000" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_487934e8-60ff-4b26-9834-b909fe50f88e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails" xlink:type="simple" xlink:href="form-20230401.xsd#StockholdersEquityandStockBasedCompensationESPPActivityDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_1c59a1a4-bd8b-417c-9abf-7bf13b7dab2e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_309ce643-c668-4953-bb44-82a5ee206dcd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_1c59a1a4-bd8b-417c-9abf-7bf13b7dab2e" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_309ce643-c668-4953-bb44-82a5ee206dcd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_82b0b7ad-597b-4943-9147-ea03fc4d9051" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_309ce643-c668-4953-bb44-82a5ee206dcd" xlink:to="loc_us-gaap_AwardTypeAxis_82b0b7ad-597b-4943-9147-ea03fc4d9051" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bc9797f2-d9f4-435b-8f0a-1d005600e22f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_82b0b7ad-597b-4943-9147-ea03fc4d9051" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bc9797f2-d9f4-435b-8f0a-1d005600e22f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember_5e936d65-cfe7-43cf-a53d-ae7cfab26fbd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_bc9797f2-d9f4-435b-8f0a-1d005600e22f" xlink:to="loc_us-gaap_EmployeeStockMember_5e936d65-cfe7-43cf-a53d-ae7cfab26fbd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e32d0892-78ee-4eed-949e-a3cac381a77e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_309ce643-c668-4953-bb44-82a5ee206dcd" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e32d0892-78ee-4eed-949e-a3cac381a77e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_55e4597e-72a0-48b2-b9be-966d62cf483f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e32d0892-78ee-4eed-949e-a3cac381a77e" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_55e4597e-72a0-48b2-b9be-966d62cf483f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_71fe3ac1-4029-4794-882b-d5cfc379d25e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e32d0892-78ee-4eed-949e-a3cac381a77e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_71fe3ac1-4029-4794-882b-d5cfc379d25e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock_b92bd368-bd96-4373-b1e5-60d8a9fe192d" xlink:href="form-20230401.xsd#form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e32d0892-78ee-4eed-949e-a3cac381a77e" xlink:to="loc_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock_b92bd368-bd96-4373-b1e5-60d8a9fe192d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" xlink:type="simple" xlink:href="form-20230401.xsd#StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_efce7b0b-28e9-4003-91ef-230757ff0eba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_a0b9fa31-6160-4cd6-9e8e-19f42da0f8dc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_efce7b0b-28e9-4003-91ef-230757ff0eba" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_a0b9fa31-6160-4cd6-9e8e-19f42da0f8dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_8867fe8a-0865-43be-a62c-ee3f16e626c4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_a0b9fa31-6160-4cd6-9e8e-19f42da0f8dc" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_8867fe8a-0865-43be-a62c-ee3f16e626c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_7c44cf96-91ba-4997-b809-0e62ca99dc90" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_8867fe8a-0865-43be-a62c-ee3f16e626c4" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_7c44cf96-91ba-4997-b809-0e62ca99dc90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_496d3fcc-807a-4238-8105-49736b0a4287" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7c44cf96-91ba-4997-b809-0e62ca99dc90" xlink:to="loc_us-gaap_CostOfSalesMember_496d3fcc-807a-4238-8105-49736b0a4287" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_a8bb57a7-ed9f-47c2-91a8-58fd50f5fec6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7c44cf96-91ba-4997-b809-0e62ca99dc90" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_a8bb57a7-ed9f-47c2-91a8-58fd50f5fec6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_a79fd063-7913-4335-8497-131602648768" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7c44cf96-91ba-4997-b809-0e62ca99dc90" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_a79fd063-7913-4335-8497-131602648768" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_95e44de8-c0ef-4b70-b6aa-a6818328081a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_a0b9fa31-6160-4cd6-9e8e-19f42da0f8dc" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_95e44de8-c0ef-4b70-b6aa-a6818328081a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_28fc36e1-e230-403a-ac4a-c8eaef415f24" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_95e44de8-c0ef-4b70-b6aa-a6818328081a" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_28fc36e1-e230-403a-ac4a-c8eaef415f24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" xlink:type="simple" xlink:href="form-20230401.xsd#StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_2e204df9-e6f5-44cc-845f-0c15c1a0d39e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_99544bbf-c827-4e2c-9f95-1297fae457f5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_2e204df9-e6f5-44cc-845f-0c15c1a0d39e" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_99544bbf-c827-4e2c-9f95-1297fae457f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_0bc2c74a-3504-44be-8f51-4e3b713228e6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_99544bbf-c827-4e2c-9f95-1297fae457f5" xlink:to="loc_us-gaap_AwardTypeAxis_0bc2c74a-3504-44be-8f51-4e3b713228e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3bd93b7e-302a-463e-9d93-b22e6f9f9f28" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_0bc2c74a-3504-44be-8f51-4e3b713228e6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3bd93b7e-302a-463e-9d93-b22e6f9f9f28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_15c4d2ce-c97b-4ae5-aa90-531bb7a80b59" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3bd93b7e-302a-463e-9d93-b22e6f9f9f28" xlink:to="loc_us-gaap_RestrictedStockMember_15c4d2ce-c97b-4ae5-aa90-531bb7a80b59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_PerformanceRestrictedStockUnitsMember_c31e3b6b-e30b-4ba4-a145-3a9508270ea8" xlink:href="form-20230401.xsd#form_PerformanceRestrictedStockUnitsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3bd93b7e-302a-463e-9d93-b22e6f9f9f28" xlink:to="loc_form_PerformanceRestrictedStockUnitsMember_c31e3b6b-e30b-4ba4-a145-3a9508270ea8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockMember_22cb1347-7a9f-443a-86a1-5b24219294b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3bd93b7e-302a-463e-9d93-b22e6f9f9f28" xlink:to="loc_us-gaap_EmployeeStockMember_22cb1347-7a9f-443a-86a1-5b24219294b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9a1109cf-e201-42ba-85ac-470f0dda729d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_99544bbf-c827-4e2c-9f95-1297fae457f5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9a1109cf-e201-42ba-85ac-470f0dda729d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_1d049d3b-be0e-4294-b435-bdc0ba734956" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9a1109cf-e201-42ba-85ac-470f0dda729d" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_1d049d3b-be0e-4294-b435-bdc0ba734956" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_92efa926-ddc4-4fb5-901c-1d4e688ffb00" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9a1109cf-e201-42ba-85ac-470f0dda729d" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_92efa926-ddc4-4fb5-901c-1d4e688ffb00" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/NetIncomeperShareDetails" xlink:type="simple" xlink:href="form-20230401.xsd#NetIncomeperShareDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/NetIncomeperShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_84c90d64-3bc8-4c98-9a08-968248350936" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_0b8a16ea-7065-4cec-8b90-c14aba30e279" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_84c90d64-3bc8-4c98-9a08-968248350936" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_0b8a16ea-7065-4cec-8b90-c14aba30e279" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_e7319925-ccaf-493d-b677-933860d5702a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_84c90d64-3bc8-4c98-9a08-968248350936" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_e7319925-ccaf-493d-b677-933860d5702a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_920c6379-0fe1-428c-b3e6-20affc94726b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_84c90d64-3bc8-4c98-9a08-968248350936" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_920c6379-0fe1-428c-b3e6-20affc94726b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_5015e7ef-73d2-4ebc-ae18-96251ead6fb2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_84c90d64-3bc8-4c98-9a08-968248350936" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_5015e7ef-73d2-4ebc-ae18-96251ead6fb2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/LeasesNarrativeDetails" xlink:type="simple" xlink:href="form-20230401.xsd#LeasesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/LeasesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_fb83337f-2ac4-46a1-8ad9-05e4acb29d1e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_fb366f04-5352-4a8c-9645-0c5b31f19121" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_fb83337f-2ac4-46a1-8ad9-05e4acb29d1e" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_fb366f04-5352-4a8c-9645-0c5b31f19121" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_fa4c9ff4-cf5e-4aa3-ab62-18aa86d14879" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_fb366f04-5352-4a8c-9645-0c5b31f19121" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_fa4c9ff4-cf5e-4aa3-ab62-18aa86d14879" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_b732b086-8a27-4fe0-ab9f-09208a48751e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_fa4c9ff4-cf5e-4aa3-ab62-18aa86d14879" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_b732b086-8a27-4fe0-ab9f-09208a48751e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AutomobilesMember_2a51afdd-ccf7-49a8-ad1f-7e5f7f093d24" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AutomobilesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_b732b086-8a27-4fe0-ab9f-09208a48751e" xlink:to="loc_us-gaap_AutomobilesMember_2a51afdd-ccf7-49a8-ad1f-7e5f7f093d24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_ee6eb7a5-9ac3-46de-96dc-ba55a15bb59b" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_fb366f04-5352-4a8c-9645-0c5b31f19121" xlink:to="loc_srt_RangeAxis_ee6eb7a5-9ac3-46de-96dc-ba55a15bb59b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_a53157df-08b0-4151-89cd-cf45e86904be" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_ee6eb7a5-9ac3-46de-96dc-ba55a15bb59b" xlink:to="loc_srt_RangeMember_a53157df-08b0-4151-89cd-cf45e86904be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_7326de6c-74f3-45f0-aafe-8f05a2d10a5b" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_a53157df-08b0-4151-89cd-cf45e86904be" xlink:to="loc_srt_MinimumMember_7326de6c-74f3-45f0-aafe-8f05a2d10a5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_bd30f0d3-63eb-47d0-bdc2-78c9ea413ab6" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_a53157df-08b0-4151-89cd-cf45e86904be" xlink:to="loc_srt_MaximumMember_bd30f0d3-63eb-47d0-bdc2-78c9ea413ab6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_6007312b-9724-4a97-befe-c4a08eb0626d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_fb366f04-5352-4a8c-9645-0c5b31f19121" xlink:to="loc_us-gaap_LesseeLeaseDescriptionLineItems_6007312b-9724-4a97-befe-c4a08eb0626d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract_af3220e2-35f7-423d-ad5c-fa22d72bb114" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_6007312b-9724-4a97-befe-c4a08eb0626d" xlink:to="loc_us-gaap_LesseeOperatingLeaseTermOfContract_af3220e2-35f7-423d-ad5c-fa22d72bb114" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseRenewalTerm_df8e8d2b-1df4-4ebf-8696-edaf3626a628" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_6007312b-9724-4a97-befe-c4a08eb0626d" xlink:to="loc_us-gaap_LesseeOperatingLeaseRenewalTerm_df8e8d2b-1df4-4ebf-8696-edaf3626a628" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_95503da0-cf93-401d-bea1-023f56120873" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_6007312b-9724-4a97-befe-c4a08eb0626d" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_95503da0-cf93-401d-bea1-023f56120873" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_f661184a-f7a2-4106-9ad8-32dcbab4bc7e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_6007312b-9724-4a97-befe-c4a08eb0626d" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_f661184a-f7a2-4106-9ad8-32dcbab4bc7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails" xlink:type="simple" xlink:href="form-20230401.xsd#LeasesComponentsofLeaseExpenseDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_ee6b4d30-ec87-4d5b-8ec6-30e6e5cfa035" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseExpense_fdccdeb3-ee9a-4102-9405-b76733fadd67" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_ee6b4d30-ec87-4d5b-8ec6-30e6e5cfa035" xlink:to="loc_us-gaap_OperatingLeaseExpense_fdccdeb3-ee9a-4102-9405-b76733fadd67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermLeaseCost_35c8cec6-3d3d-49f8-953b-435b0a832505" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_ee6b4d30-ec87-4d5b-8ec6-30e6e5cfa035" xlink:to="loc_us-gaap_ShortTermLeaseCost_35c8cec6-3d3d-49f8-953b-435b0a832505" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost_a84cb11f-8daf-41b1-89a7-04dfe4e6a458" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableLeaseCost"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_ee6b4d30-ec87-4d5b-8ec6-30e6e5cfa035" xlink:to="loc_us-gaap_VariableLeaseCost_a84cb11f-8daf-41b1-89a7-04dfe4e6a458" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_51790af9-e299-463a-b4c2-2573411caa69" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_ee6b4d30-ec87-4d5b-8ec6-30e6e5cfa035" xlink:to="loc_us-gaap_LeaseCost_51790af9-e299-463a-b4c2-2573411caa69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" xlink:type="simple" xlink:href="form-20230401.xsd#LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_e8e22887-416c-4d15-b9ff-e749348a8ec3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_1f8b5e75-068a-4eeb-915d-d6331d606d19" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e8e22887-416c-4d15-b9ff-e749348a8ec3" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_1f8b5e75-068a-4eeb-915d-d6331d606d19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_89c3f8a5-2499-4c15-be8e-adc35aba00c6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e8e22887-416c-4d15-b9ff-e749348a8ec3" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_89c3f8a5-2499-4c15-be8e-adc35aba00c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_20974c9e-cf6d-4e32-b616-2e4ce2476735" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e8e22887-416c-4d15-b9ff-e749348a8ec3" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_20974c9e-cf6d-4e32-b616-2e4ce2476735" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_ac670f38-41e3-474b-bc21-b9845ac78873" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e8e22887-416c-4d15-b9ff-e749348a8ec3" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_ac670f38-41e3-474b-bc21-b9845ac78873" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_c915b1d4-0820-4e42-bdf0-737a7f7b585f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e8e22887-416c-4d15-b9ff-e749348a8ec3" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_c915b1d4-0820-4e42-bdf0-737a7f7b585f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_36586354-6ea0-45ad-ab61-440bcd619422" xlink:href="form-20230401.xsd#form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e8e22887-416c-4d15-b9ff-e749348a8ec3" xlink:to="loc_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour_36586354-6ea0-45ad-ab61-440bcd619422" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b0065bf8-c5bf-4a55-923c-c32973addc46" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e8e22887-416c-4d15-b9ff-e749348a8ec3" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b0065bf8-c5bf-4a55-923c-c32973addc46" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_c7ff723d-6341-493f-b912-bf288a96c9c3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e8e22887-416c-4d15-b9ff-e749348a8ec3" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_c7ff723d-6341-493f-b912-bf288a96c9c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_8fc5d49f-c367-4b98-9809-bee047043958" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e8e22887-416c-4d15-b9ff-e749348a8ec3" xlink:to="loc_us-gaap_OperatingLeaseLiability_8fc5d49f-c367-4b98-9809-bee047043958" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_b3930e13-7f5f-40fb-96ee-56bfa7aff1a5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e8e22887-416c-4d15-b9ff-e749348a8ec3" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_b3930e13-7f5f-40fb-96ee-56bfa7aff1a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_edf9802c-c536-4c12-ba42-01a99bb6f36a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e8e22887-416c-4d15-b9ff-e749348a8ec3" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_edf9802c-c536-4c12-ba42-01a99bb6f36a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1" xlink:type="simple" xlink:href="form-20230401.xsd#LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.formfactor.com/role/RevenueAdditionalInformationDetails" xlink:type="simple" xlink:href="form-20230401.xsd#RevenueAdditionalInformationDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/RevenueAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_2cf264fa-0375-4b5b-b512-031b0d6d6cbc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_11f89287-7396-4552-a220-d865a02d9899" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_2cf264fa-0375-4b5b-b512-031b0d6d6cbc" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_11f89287-7396-4552-a220-d865a02d9899" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_1043e5bb-66b5-4240-a3cd-aaefe18cf8b5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_11f89287-7396-4552-a220-d865a02d9899" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_1043e5bb-66b5-4240-a3cd-aaefe18cf8b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_11f89287-7396-4552-a220-d865a02d9899" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_524f44ca-5168-475c-81e5-6c60a5be3301" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_524f44ca-5168-475c-81e5-6c60a5be3301" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_c0c31216-b6ec-470d-95f7-6851dd61c210" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_c0c31216-b6ec-470d-95f7-6851dd61c210" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_9f313543-39e1-4a09-8973-b4726a396211" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_9f313543-39e1-4a09-8973-b4726a396211" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_54b11167-ae5b-43ec-be75-38ae3afada06" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_ContractWithCustomerLiability_54b11167-ae5b-43ec-be75-38ae3afada06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_e492afcd-1d73-4f80-b946-b57e94cf6c02" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_e492afcd-1d73-4f80-b946-b57e94cf6c02" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_8b60aa38-9265-4724-a36e-756cf5c67214" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_3c6835e7-f329-491f-8353-409a3a72cf57" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_8b60aa38-9265-4724-a36e-756cf5c67214" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/RevenueAdditionalInformationDetails_1" xlink:type="simple" xlink:href="form-20230401.xsd#RevenueAdditionalInformationDetails_1"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/RevenueAdditionalInformationDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationAdditionalInformationDetails" xlink:type="simple" xlink:href="form-20230401.xsd#OperatingSegmentsandEnterpriseWideInformationAdditionalInformationDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_3676820e-8347-4845-8ebe-0db77ec103c7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_2ecbf0d9-6703-4dd9-a2dc-ae119fe34885" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_3676820e-8347-4845-8ebe-0db77ec103c7" xlink:to="loc_us-gaap_NumberOfReportableSegments_2ecbf0d9-6703-4dd9-a2dc-ae119fe34885" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" xlink:type="simple" xlink:href="form-20230401.xsd#OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_ca0bba8f-1c98-4c86-8313-8fe32a9f6ecf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_bed21611-77f8-46fd-b8f1-498f0c682fd1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_ca0bba8f-1c98-4c86-8313-8fe32a9f6ecf" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_bed21611-77f8-46fd-b8f1-498f0c682fd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_4ceec7c1-8e92-4993-9128-9e06b2013eaf" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_bed21611-77f8-46fd-b8f1-498f0c682fd1" xlink:to="loc_srt_ConsolidationItemsAxis_4ceec7c1-8e92-4993-9128-9e06b2013eaf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_8f3deb3a-8c1e-4df9-a38c-444b786a34dd" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_4ceec7c1-8e92-4993-9128-9e06b2013eaf" xlink:to="loc_srt_ConsolidationItemsDomain_8f3deb3a-8c1e-4df9-a38c-444b786a34dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_00081865-63a5-4b6e-80a2-c5cec7bf95a7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_8f3deb3a-8c1e-4df9-a38c-444b786a34dd" xlink:to="loc_us-gaap_OperatingSegmentsMember_00081865-63a5-4b6e-80a2-c5cec7bf95a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_be34a2ca-237c-4b21-b0b7-9433a0d5d797" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_bed21611-77f8-46fd-b8f1-498f0c682fd1" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_be34a2ca-237c-4b21-b0b7-9433a0d5d797" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_757d8054-dda4-44e6-b569-44a8326c59df" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_be34a2ca-237c-4b21-b0b7-9433a0d5d797" xlink:to="loc_us-gaap_SegmentDomain_757d8054-dda4-44e6-b569-44a8326c59df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_ProbeCardsSegmentMember_d8eb7215-2d5d-4ce5-950c-cda79fe42bd5" xlink:href="form-20230401.xsd#form_ProbeCardsSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_757d8054-dda4-44e6-b569-44a8326c59df" xlink:to="loc_form_ProbeCardsSegmentMember_d8eb7215-2d5d-4ce5-950c-cda79fe42bd5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_SystemsSegmentMember_4e0fe37d-c317-412d-9802-8b3ed4314841" xlink:href="form-20230401.xsd#form_SystemsSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_757d8054-dda4-44e6-b569-44a8326c59df" xlink:to="loc_form_SystemsSegmentMember_4e0fe37d-c317-412d-9802-8b3ed4314841" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateAndOtherMember_1865d441-f734-4421-b707-681f46678252" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CorporateAndOtherMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_757d8054-dda4-44e6-b569-44a8326c59df" xlink:to="loc_us-gaap_CorporateAndOtherMember_1865d441-f734-4421-b707-681f46678252" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_715c41c1-f189-4c2d-a4e4-c731e662b4d8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_bed21611-77f8-46fd-b8f1-498f0c682fd1" xlink:to="loc_us-gaap_SegmentReportingInformationLineItems_715c41c1-f189-4c2d-a4e4-c731e662b4d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_278c8b22-18fe-4230-b4f5-48393acd46ba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_715c41c1-f189-4c2d-a4e4-c731e662b4d8" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_278c8b22-18fe-4230-b4f5-48393acd46ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_ece1a462-07f3-4fe5-89de-8f796beb149d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_715c41c1-f189-4c2d-a4e4-c731e662b4d8" xlink:to="loc_us-gaap_GrossProfit_ece1a462-07f3-4fe5-89de-8f796beb149d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_GrossMarginPercent_b046e9c6-40ae-4137-883f-b55bf65f18f5" xlink:href="form-20230401.xsd#form_GrossMarginPercent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_715c41c1-f189-4c2d-a4e4-c731e662b4d8" xlink:to="loc_form_GrossMarginPercent_b046e9c6-40ae-4137-883f-b55bf65f18f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" xlink:type="simple" xlink:href="form-20230401.xsd#OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"/>
  <link:presentationLink xlink:role="http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_31dde6f5-707c-43a3-96de-c63378a7a182" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_a6cc6502-044f-415b-bb8e-ad07e868f1c3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_31dde6f5-707c-43a3-96de-c63378a7a182" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_a6cc6502-044f-415b-bb8e-ad07e868f1c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_85a537ba-56bf-44f4-9896-00473e9cd4ec" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a6cc6502-044f-415b-bb8e-ad07e868f1c3" xlink:to="loc_srt_ProductOrServiceAxis_85a537ba-56bf-44f4-9896-00473e9cd4ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_b268b81b-bf09-4b11-b08f-bacd62bf96d4" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_85a537ba-56bf-44f4-9896-00473e9cd4ec" xlink:to="loc_srt_ProductsAndServicesDomain_b268b81b-bf09-4b11-b08f-bacd62bf96d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_FoundryLogicProductGroupMember_b0de0a33-b2f3-41b7-b3bf-9afc6c981f33" xlink:href="form-20230401.xsd#form_FoundryLogicProductGroupMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_b268b81b-bf09-4b11-b08f-bacd62bf96d4" xlink:to="loc_form_FoundryLogicProductGroupMember_b0de0a33-b2f3-41b7-b3bf-9afc6c981f33" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_DRAMProductGroupMember_a40b344b-5fcb-40b9-b391-cdb004a42032" xlink:href="form-20230401.xsd#form_DRAMProductGroupMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_b268b81b-bf09-4b11-b08f-bacd62bf96d4" xlink:to="loc_form_DRAMProductGroupMember_a40b344b-5fcb-40b9-b391-cdb004a42032" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_FlashProductGroupMember_e187740d-a237-4d72-8fec-dbaf82cfbadd" xlink:href="form-20230401.xsd#form_FlashProductGroupMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_b268b81b-bf09-4b11-b08f-bacd62bf96d4" xlink:to="loc_form_FlashProductGroupMember_e187740d-a237-4d72-8fec-dbaf82cfbadd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_SystemsProductGroupMember_3f1216a1-ff20-4d71-8ffe-d8b84299c1d3" xlink:href="form-20230401.xsd#form_SystemsProductGroupMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_b268b81b-bf09-4b11-b08f-bacd62bf96d4" xlink:to="loc_form_SystemsProductGroupMember_3f1216a1-ff20-4d71-8ffe-d8b84299c1d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_7222f523-da88-4313-943b-fc62e1685b69" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a6cc6502-044f-415b-bb8e-ad07e868f1c3" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_7222f523-da88-4313-943b-fc62e1685b69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dc651c5b-46b9-4aad-ae1e-ac9ef631a947" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_7222f523-da88-4313-943b-fc62e1685b69" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dc651c5b-46b9-4aad-ae1e-ac9ef631a947" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember_2a67ee39-e547-4807-8f4f-fc4e2bf8abb6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dc651c5b-46b9-4aad-ae1e-ac9ef631a947" xlink:to="loc_us-gaap_TransferredAtPointInTimeMember_2a67ee39-e547-4807-8f4f-fc4e2bf8abb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember_04ce9172-43d7-4d29-9e23-b5d0f9bb57e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dc651c5b-46b9-4aad-ae1e-ac9ef631a947" xlink:to="loc_us-gaap_TransferredOverTimeMember_04ce9172-43d7-4d29-9e23-b5d0f9bb57e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_d26649b8-2423-43be-a9b4-47dd31e1fcf0" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a6cc6502-044f-415b-bb8e-ad07e868f1c3" xlink:to="loc_srt_StatementGeographicalAxis_d26649b8-2423-43be-a9b4-47dd31e1fcf0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_d26649b8-2423-43be-a9b4-47dd31e1fcf0" xlink:to="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_TW_2e1672f3-0d35-47be-90dd-b47eb380394f" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TW"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_country_TW_2e1672f3-0d35-47be-90dd-b47eb380394f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_1b7994f1-13a3-4d54-b03d-5268f80a3ef1" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_country_US_1b7994f1-13a3-4d54-b03d-5268f80a3ef1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_CN_966e8cf1-9d62-4970-b2d0-a3d592db78ab" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_country_CN_966e8cf1-9d62-4970-b2d0-a3d592db78ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_KR_aac67e06-5d81-4406-b4bf-b74d2a54e6c9" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_KR"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_country_KR_aac67e06-5d81-4406-b4bf-b74d2a54e6c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_MY_5a8a5fcb-99e0-4831-87ae-a5fd8e02a44e" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_MY"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_country_MY_5a8a5fcb-99e0-4831-87ae-a5fd8e02a44e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_JP_046fab27-307b-4266-b054-1ffc1b130c7a" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_country_JP_046fab27-307b-4266-b054-1ffc1b130c7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EuropeMember_00521422-0a6e-4627-8d64-86b223427c78" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EuropeMember"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_srt_EuropeMember_00521422-0a6e-4627-8d64-86b223427c78" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_SG_cc1e4222-84b2-40a2-bb2e-1ba49dc7d924" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_SG"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_country_SG_cc1e4222-84b2-40a2-bb2e-1ba49dc7d924" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_RestOfTheWorldMember_31f2accc-9864-4b34-8400-909f7bd4e1e2" xlink:href="form-20230401.xsd#form_RestOfTheWorldMember"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_25a9b65a-8dac-4408-a73a-027c5c324ee1" xlink:to="loc_form_RestOfTheWorldMember_31f2accc-9864-4b34-8400-909f7bd4e1e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_700ee916-b1b4-4a63-9255-db5b3a65bf22" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a6cc6502-044f-415b-bb8e-ad07e868f1c3" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_700ee916-b1b4-4a63-9255-db5b3a65bf22" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_d15b1365-8b87-4a2f-8e77-35d972a7a757" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_700ee916-b1b4-4a63-9255-db5b3a65bf22" xlink:to="loc_us-gaap_SegmentDomain_d15b1365-8b87-4a2f-8e77-35d972a7a757" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_ProbeCardsSegmentMember_d4543674-2e96-4c1a-8a5c-46481eb73e99" xlink:href="form-20230401.xsd#form_ProbeCardsSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_d15b1365-8b87-4a2f-8e77-35d972a7a757" xlink:to="loc_form_ProbeCardsSegmentMember_d4543674-2e96-4c1a-8a5c-46481eb73e99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_form_SystemsSegmentMember_9b5df4bc-81bd-4201-9f5f-778910fe97ca" xlink:href="form-20230401.xsd#form_SystemsSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_d15b1365-8b87-4a2f-8e77-35d972a7a757" xlink:to="loc_form_SystemsSegmentMember_9b5df4bc-81bd-4201-9f5f-778910fe97ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_b51eb243-64a8-4707-a973-a4f809b50ba8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_a6cc6502-044f-415b-bb8e-ad07e868f1c3" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_b51eb243-64a8-4707-a973-a4f809b50ba8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_5fd6effe-b1db-44b2-b62e-0a870b5e1516" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_b51eb243-64a8-4707-a973-a4f809b50ba8" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_5fd6effe-b1db-44b2-b62e-0a870b5e1516" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691969004592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover Page - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>May 03, 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_CoverAbstract', window );"><strong>Cover [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_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<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_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<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_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Apr.  01,  2023<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_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<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">000-50307<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_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">FormFactor,&#160;Inc.<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>
</tr>
<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">13-3711155<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_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">7005 Southfront Road<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_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Livermore<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_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CA<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_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">94551<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">925<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">290-4000<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_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, $0.001 par value<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_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">FORM<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_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<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_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<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>
</tr>
<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_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<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_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<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_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<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_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<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_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">77,144,094<span></span>
</td>
</tr>
<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>
</tr>
<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">0001039399<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_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-30<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_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<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_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q1<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_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_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_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_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 quarterly 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-Q<br> -Number 240<br> -Section 308<br> -Subsection 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;">dei_DocumentQuarterlyReport</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_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_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_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_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_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_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>11
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691969441280">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 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">$ 112,360<span></span>
</td>
<td class="nump">$ 109,130<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_MarketableSecuritiesCurrent', window );">Marketable securities</a></td>
<td class="nump">123,891<span></span>
</td>
<td class="nump">129,006<span></span>
</td>
</tr>
<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 );">Accounts receivable, net of allowance for credit losses of $169 and $168</a></td>
<td class="nump">103,969<span></span>
</td>
<td class="nump">88,143<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 );">Inventories, net</a></td>
<td class="nump">116,553<span></span>
</td>
<td class="nump">123,157<span></span>
</td>
</tr>
<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_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash</a></td>
<td class="nump">1,207<span></span>
</td>
<td class="nump">1,221<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">22,941<span></span>
</td>
<td class="nump">23,895<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">480,921<span></span>
</td>
<td class="nump">474,552<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_RestrictedCashAndCashEquivalentsNoncurrent', window );">Restricted cash</a></td>
<td class="nump">2,287<span></span>
</td>
<td class="nump">2,631<span></span>
</td>
</tr>
<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_OperatingLeaseRightOfUseAsset', window );">Operating lease, right-of-use-assets</a></td>
<td class="nump">30,420<span></span>
</td>
<td class="nump">31,362<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_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net of accumulated depreciation</a></td>
<td class="nump">198,232<span></span>
</td>
<td class="nump">189,848<span></span>
</td>
</tr>
<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">211,773<span></span>
</td>
<td class="nump">211,444<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_IntangibleAssetsNetExcludingGoodwill', window );">Intangibles, net</a></td>
<td class="nump">24,486<span></span>
</td>
<td class="nump">26,751<span></span>
</td>
</tr>
<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 tax assets</a></td>
<td class="nump">67,951<span></span>
</td>
<td class="nump">67,646<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">3,686<span></span>
</td>
<td class="nump">3,994<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">1,019,756<span></span>
</td>
<td class="nump">1,008,228<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_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">63,756<span></span>
</td>
<td class="nump">69,308<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_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">31,981<span></span>
</td>
<td class="nump">42,115<span></span>
</td>
</tr>
<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_LongTermDebtCurrent', window );">Current portion of term loan, net of unamortized issuance costs</a></td>
<td class="nump">1,142<span></span>
</td>
<td class="nump">1,045<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_DeferredRevenueCurrent', window );">Deferred revenue</a></td>
<td class="nump">23,779<span></span>
</td>
<td class="nump">29,846<span></span>
</td>
</tr>
<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 );">Operating lease liabilities</a></td>
<td class="nump">7,512<span></span>
</td>
<td class="nump">7,353<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">128,170<span></span>
</td>
<td class="nump">149,667<span></span>
</td>
</tr>
<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_LongTermDebtNoncurrent', window );">Term loan, less current portion, net of unamortized issuance costs</a></td>
<td class="nump">14,034<span></span>
</td>
<td class="nump">14,389<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_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="nump">2,905<span></span>
</td>
<td class="nump">2,732<span></span>
</td>
</tr>
<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 );">Long-term operating lease liabilities</a></td>
<td class="nump">26,407<span></span>
</td>
<td class="nump">27,587<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_form_DeferredGovernmentGrantLiability', window );">Deferred grant</a></td>
<td class="nump">18,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<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_DeferredCreditsAndOtherLiabilitiesNoncurrent', window );">Other liabilities</a></td>
<td class="nump">5,868<span></span>
</td>
<td class="nump">5,568<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_Liabilities', window );">Total liabilities</a></td>
<td class="nump">195,384<span></span>
</td>
<td class="nump">199,943<span></span>
</td>
</tr>
<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 );">Common stock, $0.001 par value</a></td>
<td class="nump">77<span></span>
</td>
<td class="nump">77<span></span>
</td>
</tr>
<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_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">858,195<span></span>
</td>
<td class="nump">844,842<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_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(4,186)<span></span>
</td>
<td class="num">(5,578)<span></span>
</td>
</tr>
<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 );">Accumulated deficit</a></td>
<td class="num">(29,714)<span></span>
</td>
<td class="num">(31,056)<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_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">824,372<span></span>
</td>
<td class="nump">808,285<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_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">$ 1,019,756<span></span>
</td>
<td class="nump">$ 1,008,228<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_form_DeferredGovernmentGrantLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred Government Grant 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;">form_DeferredGovernmentGrantLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>form_</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_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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. 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> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. 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).</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> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="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_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DeferredCreditsAndOtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unearned revenue or income, not otherwise specified in the taxonomy, which is expected to be taken into income after one year or beyond the normal operating cycle, if longer and noncurrent obligations not separately disclosed in the balance sheet (other liabilities, noncurrent).</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_DeferredCreditsAndOtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deferred tax asset, of deferred tax liability attributable to taxable differences 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="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_DeferredRevenueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and obligation to transfer product and 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/2009/role/commonPracticeRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueCurrent</td>
</tr>
<tr>
<td style="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_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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="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_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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease 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> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="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_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="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_MarketableSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in marketable security, classified as 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;">us-gaap_MarketableSecuritiesCurrent</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_RestrictedCashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 restricted as to withdrawal or usage, classified as current. 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="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_RestrictedCashAndCashEquivalentsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 restricted as to withdrawal or usage, classified as noncurrent. 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 210<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120413173&amp;loc=SL116631458-115580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsNoncurrent</td>
</tr>
<tr>
<td style="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>The cumulative amount of the reporting entity's undistributed earnings or deficit.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691969418288">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 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_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for doubtful accounts</a></td>
<td class="nump">$ 169<span></span>
</td>
<td class="nump">$ 168<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 (in dollars per share)</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<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 (in shares)</a></td>
<td class="nump">250,000,000<span></span>
</td>
<td class="nump">250,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 (in shares)</a></td>
<td class="nump">77,142,023<span></span>
</td>
<td class="nump">76,914,590<span></span>
</td>
</tr>
<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 (in shares)</a></td>
<td class="nump">77,142,023<span></span>
</td>
<td class="nump">76,914,590<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<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> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="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>13
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691966408320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF INCOME - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 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_IncomeStatementAbstract', window );"><strong>Income Statement [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 167,448<span></span>
</td>
<td class="nump">$ 197,174<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_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="nump">106,370<span></span>
</td>
<td class="nump">102,950<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_GrossProfit', window );">Gross profit</a></td>
<td class="nump">61,078<span></span>
</td>
<td class="nump">94,224<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_OperatingExpensesAbstract', window );"><strong>Operating expenses:</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_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">28,245<span></span>
</td>
<td class="nump">27,134<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_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative</a></td>
<td class="nump">32,742<span></span>
</td>
<td class="nump">32,906<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">60,987<span></span>
</td>
<td class="nump">60,040<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">91<span></span>
</td>
<td class="nump">34,184<span></span>
</td>
</tr>
<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_InterestIncomeExpenseNet', window );">Interest income (expense), net</a></td>
<td class="nump">1,276<span></span>
</td>
<td class="num">(54)<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_OtherNonoperatingIncomeExpense', window );">Other income, net</a></td>
<td class="nump">23<span></span>
</td>
<td class="nump">192<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">1,390<span></span>
</td>
<td class="nump">34,322<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 );">Provision for income taxes</a></td>
<td class="nump">48<span></span>
</td>
<td class="nump">4,450<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</a></td>
<td class="nump">$ 1,342<span></span>
</td>
<td class="nump">$ 29,872<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_EarningsPerShareAbstract', window );"><strong>Net income per share:</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_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 0.02<span></span>
</td>
<td class="nump">$ 0.38<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_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 0.02<span></span>
</td>
<td class="nump">$ 0.38<span></span>
</td>
</tr>
<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_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted-average number of shares used in per share calculations:</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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">77,066<span></span>
</td>
<td class="nump">78,246<span></span>
</td>
</tr>
<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 );">Diluted (in shares)</a></td>
<td class="nump">77,255<span></span>
</td>
<td class="nump">79,468<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_InterestIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating interest income (expense).</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.10)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNet</td>
</tr>
<tr>
<td style="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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="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_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>14
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691969727920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 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_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [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_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 1,342<span></span>
</td>
<td class="nump">$ 29,872<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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Other comprehensive income (loss), net of tax:</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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Translation adjustments</a></td>
<td class="nump">832<span></span>
</td>
<td class="num">(2,698)<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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Unrealized gains (losses) on available-for-sale marketable securities</a></td>
<td class="nump">603<span></span>
</td>
<td class="num">(1,204)<span></span>
</td>
</tr>
<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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Unrealized gains (losses) on derivative instruments</a></td>
<td class="num">(43)<span></span>
</td>
<td class="nump">874<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_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income (loss), net of tax:</a></td>
<td class="nump">1,392<span></span>
</td>
<td class="num">(3,028)<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_ComprehensiveIncomeNetOfTax', window );">Comprehensive income</a></td>
<td class="nump">$ 2,734<span></span>
</td>
<td class="nump">$ 26,844<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_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax</td>
</tr>
<tr>
<td style="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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="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_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax and reclassification adjustments of other comprehensive 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442407-227067<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=124507222&amp;loc=d3e1436-108581<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract</td>
</tr>
<tr>
<td style="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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="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_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="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>15
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691971203168">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income (Loss)</div></th>
<th class="th"><div>Accumulated Deficit</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_CommonStockSharesOutstanding', window );">Beginning balance (in shares) at Dec. 25, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">78,240,506<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="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 );">Beginning balance at Dec. 25, 2021</a></td>
<td class="nump">$ 815,780<span></span>
</td>
<td class="nump">$ 78<span></span>
</td>
<td class="nump">$ 898,945<span></span>
</td>
<td class="num">$ (1,449)<span></span>
</td>
<td class="num">$ (81,794)<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_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</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_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Issuance of common stock under the Employee Stock Purchase Plan (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">157,642<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_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Issuance of common stock under the Employee Stock Purchase Plan</a></td>
<td class="nump">5,645<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,645<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_StockIssuedDuringPeriodSharesShareBasedCompensationGross', window );">Issuance of common stock pursuant to exercise of options (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,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>
</tr>
<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_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Issuance of common stock pursuant to exercise of options</a></td>
<td class="nump">42<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42<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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,612<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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax</a></td>
<td class="num">(72)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(72)<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_StockRepurchasedAndRetiredDuringPeriodShares', window );">Purchase of common stock retired through repurchase program (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">240,548<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_StockRepurchasedAndRetiredDuringPeriodValue', window );">Purchase and retirement of common stock through repurchase program</a></td>
<td class="num">(9,397)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9,397)<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">7,831<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,831<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_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income (loss)</a></td>
<td class="num">(3,028)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,028)<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">29,872<span></span>
</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">29,872<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_CommonStockSharesOutstanding', window );">Ending balance (in shares) at Mar. 26, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">78,166,212<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="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 );">Ending balance at Mar. 26, 2022</a></td>
<td class="nump">$ 846,673<span></span>
</td>
<td class="nump">$ 78<span></span>
</td>
<td class="nump">902,994<span></span>
</td>
<td class="num">(4,477)<span></span>
</td>
<td class="num">(51,922)<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_CommonStockSharesOutstanding', window );">Beginning balance (in shares) at Dec. 31, 2022</a></td>
<td class="nump">76,914,590<span></span>
</td>
<td class="nump">76,914,590<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="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 );">Beginning balance at Dec. 31, 2022</a></td>
<td class="nump">$ 808,285<span></span>
</td>
<td class="nump">$ 77<span></span>
</td>
<td class="nump">844,842<span></span>
</td>
<td class="num">(5,578)<span></span>
</td>
<td class="num">(31,056)<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_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</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_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Issuance of common stock under the Employee Stock Purchase Plan (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">210,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>
</tr>
<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_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Issuance of common stock under the Employee Stock Purchase Plan</a></td>
<td class="nump">5,024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,024<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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,378<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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax</a></td>
<td class="num">(387)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(387)<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">8,716<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,716<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_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income (loss)</a></td>
<td class="nump">1,392<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,392<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">$ 1,342<span></span>
</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,342<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_CommonStockSharesOutstanding', window );">Ending balance (in shares) at Apr. 01, 2023</a></td>
<td class="nump">77,142,023<span></span>
</td>
<td class="nump">77,142,023<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="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 );">Ending balance at Apr. 01, 2023</a></td>
<td class="nump">$ 824,372<span></span>
</td>
<td class="nump">$ 77<span></span>
</td>
<td class="nump">$ 858,195<span></span>
</td>
<td class="num">$ (4,186)<span></span>
</td>
<td class="num">$ (29,714)<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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11178-113907<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126961718&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax and reclassification adjustments of other comprehensive 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442407-227067<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=124507222&amp;loc=d3e1436-108581<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="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_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 during the period as a result of an employee stock purchase plan.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 during the period related to Restricted Stock Awards, net of any shares forfeited.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="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_StockIssuedDuringPeriodSharesShareBasedCompensationGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, before 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>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_StockIssuedDuringPeriodSharesShareBasedCompensationGross</td>
</tr>
<tr>
<td style="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_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 change in value for stock issued during the period as a result of employee stock purchase plan.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan</td>
</tr>
<tr>
<td style="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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="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_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of stock issued as a result of the exercise of stock options.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="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_StockRepurchasedAndRetiredDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and retired 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedAndRetiredDuringPeriodShares</td>
</tr>
<tr>
<td style="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_StockRepurchasedAndRetiredDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedAndRetiredDuringPeriodValue</td>
</tr>
<tr>
<td style="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_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>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691966298768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 2022</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_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract', window );"><strong>Cash flows from 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">$ 1,342<span></span>
</td>
<td class="nump">$ 29,872<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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by 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_Depreciation', window );">Depreciation</a></td>
<td class="nump">7,576<span></span>
</td>
<td class="nump">6,960<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_CostOfGoodsAndServicesSoldAmortization', window );">Amortization</a></td>
<td class="nump">2,378<span></span>
</td>
<td class="nump">2,369<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_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Reduction in the carrying amount of right-of-use assets</a></td>
<td class="nump">1,690<span></span>
</td>
<td class="nump">2,492<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_ShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">9,290<span></span>
</td>
<td class="nump">7,520<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_InventoryWriteDown', window );">Provision for excess and obsolete inventories</a></td>
<td class="nump">4,973<span></span>
</td>
<td class="nump">2,501<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_OtherOperatingActivitiesCashFlowStatement', window );">Other adjustments to reconcile net income to net cash provided by operating activities</a></td>
<td class="nump">133<span></span>
</td>
<td class="nump">182<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_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in 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="re">
<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 );">Accounts receivable</a></td>
<td class="num">(15,926)<span></span>
</td>
<td class="nump">966<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_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="nump">1,375<span></span>
</td>
<td class="num">(17,080)<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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">1,009<span></span>
</td>
<td class="num">(144)<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_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="num">(55)<span></span>
</td>
<td class="num">(73)<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_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(1,819)<span></span>
</td>
<td class="nump">10,150<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_IncreaseDecreaseInAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="num">(10,209)<span></span>
</td>
<td class="num">(3,120)<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_IncreaseDecreaseInOtherDeferredLiability', window );">Other liabilities</a></td>
<td class="nump">319<span></span>
</td>
<td class="nump">87<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_IncreaseDecreaseInDeferredRevenue', window );">Deferred revenues</a></td>
<td class="num">(6,046)<span></span>
</td>
<td class="nump">3,908<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_form_IncreaseDecreaseInDeferredGovernmentGrant', window );">Deferred grant</a></td>
<td class="nump">18,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<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_IncreaseDecreaseInOperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="num">(1,721)<span></span>
</td>
<td class="num">(2,435)<span></span>
</td>
<td class="text">&#160;<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_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">12,309<span></span>
</td>
<td class="nump">44,155<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_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract', window );"><strong>Cash flows from 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="re">
<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 );">Acquisition of property, plant and equipment</a></td>
<td class="num">(19,701)<span></span>
</td>
<td class="num">(15,606)<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_PaymentsToAcquireMarketableSecurities', window );">Purchases of marketable securities</a></td>
<td class="num">(27,311)<span></span>
</td>
<td class="num">(23,462)<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_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities', window );">Proceeds from maturities and sales of marketable securities</a></td>
<td class="nump">33,473<span></span>
</td>
<td class="nump">17,990<span></span>
</td>
<td class="text">&#160;<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 );">Net cash used in investing activities</a></td>
<td class="num">(13,539)<span></span>
</td>
<td class="num">(21,078)<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_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from 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_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions', window );">Proceeds from issuances of common stock</a></td>
<td class="nump">5,024<span></span>
</td>
<td class="nump">5,687<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_PaymentsForRepurchaseOfCommonStock', window );">Purchase of common stock through stock repurchase program</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(9,397)<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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Tax withholdings related to net share settlements of equity awards</a></td>
<td class="num">(387)<span></span>
</td>
<td class="num">(72)<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_RepaymentsOfLongTermDebt', window );">Principal repayments on term loans</a></td>
<td class="num">(259)<span></span>
</td>
<td class="num">(2,234)<span></span>
</td>
<td class="text">&#160;<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_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used) in financing activities</a></td>
<td class="nump">4,378<span></span>
</td>
<td class="num">(6,016)<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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes on cash, cash equivalents and restricted cash</a></td>
<td class="num">(276)<span></span>
</td>
<td class="num">(1,142)<span></span>
</td>
<td class="text">&#160;<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase in cash, cash equivalents and restricted cash</a></td>
<td class="nump">2,872<span></span>
</td>
<td class="nump">15,919<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash, beginning of period</a></td>
<td class="nump">112,982<span></span>
</td>
<td class="nump">155,342<span></span>
</td>
<td class="nump">155,342<span></span>
</td>
</tr>
<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, cash equivalents and restricted cash, end of period</a></td>
<td class="nump">115,854<span></span>
</td>
<td class="nump">171,261<span></span>
</td>
<td class="nump">112,982<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_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Non-cash investing and 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_form_ChangeInCapitalExpendituresIncurredButNotYetPaid', window );">Decrease in accounts payable and accrued liabilities related to property, plant and equipment purchases</a></td>
<td class="nump">3,755<span></span>
</td>
<td class="nump">2,524<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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Operating lease, right-of-use assets obtained in exchange for lease obligations</a></td>
<td class="nump">727<span></span>
</td>
<td class="nump">3,359<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_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</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_IncomeTaxesPaidNet', window );">Cash paid for income taxes, net</a></td>
<td class="nump">7,391<span></span>
</td>
<td class="nump">890<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_InterestPaidNet', window );">Cash paid for interest</a></td>
<td class="nump">106<span></span>
</td>
<td class="nump">163<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_OperatingLeasePayments', window );">Operating cash outflows from operating leases</a></td>
<td class="nump">2,191<span></span>
</td>
<td class="nump">2,094<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract', window );"><strong>Reconciliation of cash, cash equivalents and restricted cash:</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_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">112,360<span></span>
</td>
<td class="nump">167,182<span></span>
</td>
<td class="nump">109,130<span></span>
</td>
</tr>
<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_RestrictedCashCurrent', window );">Restricted cash, current</a></td>
<td class="nump">1,207<span></span>
</td>
<td class="nump">2,026<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_RestrictedCashNoncurrent', window );">Restricted cash, non-current</a></td>
<td class="nump">2,287<span></span>
</td>
<td class="nump">2,053<span></span>
</td>
<td class="text">&#160;<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Total cash, cash equivalents and restricted cash</a></td>
<td class="nump">$ 115,854<span></span>
</td>
<td class="nump">$ 171,261<span></span>
</td>
<td class="nump">$ 112,982<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_form_ChangeInCapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Change In Capital Expenditures Incurred But Not Yet Paid</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;">form_ChangeInCapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>form_</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_form_IncreaseDecreaseInDeferredGovernmentGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) in Deferred Government Grant</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;">form_IncreaseDecreaseInDeferredGovernmentGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>form_</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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="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_CostOfGoodsAndServicesSoldAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of cost of intangible asset over its useful life directly used in production of good and rendering of service.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSoldAmortization</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expenses incurred but not yet 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="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_IncreaseDecreaseInOtherDeferredLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 obligations 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherDeferredLiability</td>
</tr>
<tr>
<td style="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_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 prepaid expenses, and 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="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_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="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_InventoryWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4542-108314<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWriteDown</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="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_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from operating lease, excluding payments to bring another asset to condition and location necessary for its intended 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="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_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense for right-of-use asset 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="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_OtherOperatingActivitiesCashFlowStatement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other 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_OtherOperatingActivitiesCashFlowStatement</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_PaymentsToAcquireMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for purchase of marketable security.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireMarketableSecurities</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions</td>
</tr>
<tr>
<td style="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_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3151-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities</td>
</tr>
<tr>
<td style="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_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for debt initially having maturity due after one year or beyond 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="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_RestrictedCashCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 restricted as to withdrawal or usage, classified as current. 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.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashCurrent</td>
</tr>
<tr>
<td style="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_RestrictedCashNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 restricted as to withdrawal or usage, classified as noncurrent. 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.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 210<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120413173&amp;loc=SL116631458-115580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashNoncurrent</td>
</tr>
<tr>
<td style="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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 right-of-use asset obtained in exchange for 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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="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>17
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140692052658688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [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_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock', window );">Basis of Presentation and Significant Accounting Policies</a></td>
<td class="text">Basis of Presentation and Significant Accounting Policies<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of Presentation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying condensed consolidated financial information of FormFactor,&#160;Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;) and pursuant to the rules and regulations of the Securities and Exchange Commission (&#8220;SEC&#8221;). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year. </span></div><div style="text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fiscal Year</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the three months ended April&#160;1, 2023 and March&#160;26, 2022 each contained 13 weeks. Fiscal 2023 will end on December&#160;30, 2023.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Significant Accounting Policies</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our significant accounting policies have not changed during the three months ended April&#160;1, 2023 from those disclosed in our Annual Report on Form&#160;10-K for the year ended December&#160;31, 2022, except for:</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Government Assistance</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2023, we received $18.0&#160;million in cash from a California Competes Grant (the &#8220;Grant&#8221;) awarded from the California Governor&#8217;s Office of Business and Economic Development. The Grant requires FormFactor to create and maintain full-time jobs and make significant infrastructure investments within California over a 5-year term. If we do not meet the requirements of the Grant, we will be required to repay all or a portion of the Grant.</span></div>The Grant is included in our Condensed Consolidated Balance Sheets within Deferred grant and we have elected to recognize when earned as an offset to Cost of revenues and Operating expenses within our Condensed Consolidated Statements of Income. We have elected to present the proceeds from the Grant as cash provided by operating activities within our Condensed Consolidated Statements of Cash Flows as the grant is to offset operations.<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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="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_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 organization, consolidation and basis of presentation of financial statements disclosure, and significant accounting policies of the reporting entity. May be provided in more than one note to the financial statements, as long as users are provided with an understanding of (1) the significant judgments and assumptions made by an enterprise in determining whether it must consolidate a VIE and/or disclose information about its involvement with a VIE, (2) the nature of restrictions on a consolidated VIE's assets reported by an enterprise in its statement of financial position, including the carrying amounts of such assets, (3) the nature of, and changes in, the risks associated with an enterprise's involvement with the VIE, and (4) how an enterprise's involvement with the VIE affects the enterprise's financial position, financial performance, and cash flows. Describes procedure if disclosures are provided in more than one note to 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -URI https://asc.fasb.org/topic&amp;trid=2122149<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -URI https://asc.fasb.org/topic&amp;trid=2197479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI https://asc.fasb.org/topic&amp;trid=2122369<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI https://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="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>18
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140692054960192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Concentration of Credit and Other Risks<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_RisksAndUncertaintiesAbstract', window );"><strong>Risks and Uncertainties [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_ConcentrationRiskDisclosureTextBlock', window );">Concentration of Credit and Other Risks</a></td>
<td class="text">Concentration of Credit and Other Risks<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Each of the following customers accounted for 10% or more of our revenues for the periods indicated: </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:72.291%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intel Corporation</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.8&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan Semiconductor Manufacturing Co., LTD.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.0&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31.5&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div>At April&#160;1, 2023, two customers accounted for 17.9% and 15.9% of gross accounts receivable, respectively. At December&#160;31, 2022, one customer accounted for 13.8% of gross accounts receivable.<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_ConcentrationRiskDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI https://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_RisksAndUncertaintiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RisksAndUncertaintiesAbstract</td>
</tr>
<tr>
<td style="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>19
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973311184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories, net<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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>Inventory Disclosure [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, net</a></td>
<td class="text">Inventories, net <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are stated at the lower of cost (principally standard cost, which approximates actual cost on a first in, first out basis) or net realizable value.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories, net, consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">57,748&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,726&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Work-in-progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,376&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,067&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,429&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,364&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">116,553&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">123,157&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>20
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973486256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [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_IntangibleAssetsDisclosureTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text">Goodwill and Intangible Assets <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill by reportable segment was as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:59.572%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of December 25, 2021</span></td><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,875&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">212,299&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Addition - Woburn Acquisition</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">550&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">550&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of December 31, 2022</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,020&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">211,444&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">329&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">329&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of April 1, 2023</span></td><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,349&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">211,773&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="text-indent:18pt"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have not recorded goodwill impairments for the three months ended April&#160;1, 2023.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets were as follows (in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:26.239%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.014%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Intangible Assets </span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Existing developed technologies </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">171,750&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">152,260&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,490&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">171,441&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">151,212&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,229&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,996&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,559&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,437&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,912&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,003&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,909&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,992&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,833&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,972&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,759&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">213&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">In-process research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">231,138&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">206,652&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,486&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">230,725&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,974&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,751&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:73.169%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">831&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">808&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,547&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,561&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,378&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,369&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:85.449%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fiscal Year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,813&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,611&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,268&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,175&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,832&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,387&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,086&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="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_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 or part of the information related to intangible 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -URI https://asc.fasb.org/subtopic&amp;trid=2144471<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>21
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973439712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Liabilities<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [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 );">Accrued Liabilities</a></td>
<td class="text">Accrued Liabilities<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued compensation and benefits</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,028&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,864&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued income and other taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,241&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,817&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued warranty</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,872&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,199&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee stock purchase plan contributions withheld</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,533&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,585&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued restructuring charges</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">376&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other accrued expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,931&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,401&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,981&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,115&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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_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> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="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>22
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973311184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Charges<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_RestructuringAndRelatedActivitiesAbstract', window );"><strong>Restructuring and Related Activities [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_RestructuringAndRelatedActivitiesDisclosureTextBlock', window );">Restructuring Charges</a></td>
<td class="text">Restructuring Charges<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">2022 Restructuring Plan</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 25, 2022, we adopted a restructuring plan (&#8220;2022 restructuring plan&#8221;) to align our cost structure with reduced demand levels, by streamlining and improving the efficiency and business effectiveness of our operations. This plan included lowering headcount by approximately 13% of our workforce. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has recognized 2022 restructuring plan charges of approximately $8.1 million for severance and employee-related costs, including $0.3 million for stock-based compensation, with $7.1 million within the Probe Cards segment, $0.5 million within the Systems segment, and $0.5&#160;million within Corporate. We do not expect to incur additional material costs related to the 2022 restructuring plan.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">2021 Restructuring Plan</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On September 25, 2021, we adopted restructuring plans (&#8220;2021 restructuring plans&#8221;) to improve our business effectiveness and streamline our operations by consolidating certain manufacturing facilities for both the Probe Cards segment and the Systems segment. This included plans to consolidate or relocate certain leased locations in the United States to other locations in the United States, Germany and Asia. As a result of these changes to certain work locations, we have incurred personnel related costs to sever, relocate, or retain select employees. Additionally, as part of these plans we have undertaken actions to adjust capacity for certain product offerings, which included contract termination costs to satisfy contract obligations. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has recognized 2021 restructuring plans charges of approximately $12.7 million, with $9.9 million within the Probe Cards segment and $2.8 million within the Systems segment, and were comprised of $1.3 million of severance and employee-related costs, $1.8 million in contract and lease termination costs, $9.1 million in inventory impairments and other inventory related costs, and $0.5 million of cost related to impairment of leasehold improvements, facility exits and fixed asset related costs. We do not expect additional material costs related to the 2021 restructuring plan.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:31.063%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.581%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(45)</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">139&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">146&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">146&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,060&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,122&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,134&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">83&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,217&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">271&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">313&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes to the restructuring accrual in the three months ended April&#160;1, 2023 were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:37.350%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:13.524%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Employee Severance<br/>and Benefits</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Stock-based Compensation</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Inventory<br/>Impairments &amp;<br/>Other Inventory<br/>Related Costs</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restructuring charges</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">842&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">295&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,217&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,715)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(63)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,778)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-cash settlement</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(295)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(17)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(312)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">376&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">376&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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_RestructuringAndRelatedActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringAndRelatedActivitiesAbstract</td>
</tr>
<tr>
<td style="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_RestructuringAndRelatedActivitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be 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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(e))<br> -URI https://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -URI https://asc.fasb.org/topic&amp;trid=2175745<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973319360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value and Derivative Instruments<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [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_FairValueDisclosuresTextBlock', window );">Fair Value and Derivative Instruments</a></td>
<td class="text">Fair Value and Derivative Instruments<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three months ended April&#160;1, 2023 or the year ended December&#160;31, 2022.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No changes were made to our valuation techniques during the first three months of fiscal 2023.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Assets and Liabilities Measured at Fair Value on a Recurring Basis</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands):&#160;</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:45.391%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,777&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,777&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,475&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,475&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25.75pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,777&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,475&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">49,252&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;U.S. treasuries</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,144&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,144&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;Certificates of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">471&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">471&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;U.S. agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,062&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,062&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,899&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,899&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,315&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,315&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7.75pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,144&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">98,747&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">123,891&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">763&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">763&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory note receivable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,041&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,041&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,921&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">106,026&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">176,890&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:45.391%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,969&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,969&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">996&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">996&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,965&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,244&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. treasuries</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificates of deposit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">706&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">706&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,045&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,045&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">67,396&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">67,396&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,840&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,840&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">103,987&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">129,006&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">664&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">664&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory note receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,374&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,374&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,298&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,990&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">160,231&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Equivalents </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our cash equivalents is determined based on quoted market prices for similar or identical securities. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Marketable Securities </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We classify our marketable securities as available-for-sale and value them utilizing a market approach. Our investments are </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">priced by pricing vendors who provide observable inputs for their pricing without applying significant judgment. Broker pricing is used mainly when a quoted price is not available, the investment is not priced by our pricing vendors or when a broker price is more reflective of fair value. Our broker-priced investments are categorized as Level 2 investments because fair value is based on similar assets without applying significant judgments. In addition, all investments have a sufficient trading volume to demonstrate that the fair value is appropriate.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unrealized gains and losses were immaterial and were recorded as a component of Accumulated other comprehensive loss in our Condensed Consolidated Balance Sheets. We did not have any other-than-temporary unrealized gains or losses at either period end included in these financial statements.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Interest Rate Swaps </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our interest rate swap contracts is determined at the end of each reporting period based on valuation models that use interest rate yield curves as inputs. For accounting purposes, our interest rate swap contracts qualify for, and are designated as, cash flow hedges. The cash flows associated with the interest rate swaps are reported in Net cash provided by operating activities in our Condensed Consolidated Statements of Cash Flows and the fair value of the interest rate swap contracts are recorded within Prepaid expenses and other current assets and Other assets in our Condensed Consolidated Balance Sheets. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Foreign Exchange Derivative Contracts</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate and sell our products in various global markets. As a result, we are exposed to changes in foreign currency exchange rates. We utilize foreign currency forward contracts to hedge against future movements in foreign exchange rates that affect certain existing foreign currency denominated assets and liabilities and forecasted foreign currency revenue and expense transactions. Under this program, our strategy is to have increases or decreases in our foreign currency exposures mitigated by gains or losses on the foreign currency forward contracts in order to mitigate the risks and volatility associated with foreign currency transaction gains or losses. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not use derivative financial instruments for speculative or trading purposes. For accounting purposes, certain of our foreign currency forward contracts are not designated as hedging instruments and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded within Other income, net in our Condensed Consolidated Statement of Income for both realized and unrealized gains and losses. Certain of our foreign currency forward contracts are designated as cash flow hedges, and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded as a component of Accumulated other comprehensive loss and reclassified into earnings in the same period in which the hedged transaction affects earnings, and in the same line item on the Condensed Consolidated Statements of Income as the impact of the hedge transaction. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our foreign exchange derivative contracts was determined based on current foreign currency exchange rates and forward points. All of our foreign exchange derivative contracts outstanding at April&#160;1, 2023 will mature by the first quarter of fiscal 2024.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides information about our foreign currency forward contracts outstanding as of April&#160;1, 2023 (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:54.601%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.373%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.231%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Currency</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Position</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Amount<br/>(Local Currency)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Amount<br/>(U.S. Dollars)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Euro Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Buy</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,004&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,250&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Euro Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,356&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,472&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japanese Yen</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,227,282&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,377&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Korean Won</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Buy</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,751,490&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,355&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,413&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,435&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our foreign currency contracts are classified within Level 2 of the fair value hierarchy as they are valued using pricing models that utilize observable market inputs.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business </span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">acquisition. Other than as discussed in Note 6,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Restructuring Charges, </span>there were no assets or liabilities measured at fair value on a nonrecurring basis during the three months ended April&#160;1, 2023 or March&#160;26, 2022.<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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="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_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973242688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_ProductWarrantiesDisclosuresAbstract', window );"><strong>Product Warranties Disclosures [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_ProductWarrantyDisclosureTextBlock', window );">Warranty</a></td>
<td class="text">Warranty<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We offer warranties on certain products and record a liability for the estimated future costs associated with warranty claims at the time revenue is recognized. The warranty liability is based upon historical experience and our estimate of the level of future costs. While we engage in product quality programs and processes, our warranty obligation is affected by product failure rates, material usage and service delivery costs. We regularly monitor product returns for warranty and maintain a reserve for the related expenses based upon our historical experience and any specifically identified failures. As we sell new products to our customers, we must exercise considerable judgment in estimating the expected failure rates. This estimating process is based on historical experience of similar products, as well as various other assumptions that we believe to be reasonable under the circumstances. We provide for the estimated cost of product warranties at the time revenue is recognized as a component of Cost of revenues in our Condensed Consolidated Statement of Income.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in our warranty liability were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at beginning of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,199&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,805&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accruals</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,390&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,214&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Settlements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,717)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,244)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at end of period</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,872&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,775&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="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_ProductWarrantyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -URI https://asc.fasb.org/topic&amp;trid=2155896<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973313184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant, and Equipment, net<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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, net</a></td>
<td class="text">Property, Plant and Equipment, net<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property, plant and equipment, net consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Land</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,136&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,136&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Building and building improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,444&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,932&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Machinery and equipment </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">280,936&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">276,180&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer equipment and software</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,568&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,813&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,481&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,540&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">87,318&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">86,500&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sub-total </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">483,883&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">478,101&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: Accumulated depreciation and amortization </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(342,763)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(335,711)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net, property, plant and equipment </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">141,120&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">142,390&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Construction-in-process</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">57,112&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47,458&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">198,232&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">189,848&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99893-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI https://asc.fasb.org/topic&amp;trid=2155823<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=SL120174063-112916<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99779-112916<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973364864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders&#8217; Equity and Stock-Based Compensation<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_EquityAbstract', window );"><strong>Equity [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_StockholdersEquityNoteDisclosureTextBlock', window );">Stockholders&#8217; Equity and Stock-Based Compensation</a></td>
<td class="text">Stockholders&#8217; Equity and Stock-Based Compensation<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Common Stock Repurchase Programs</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 26, 2020, our Board of Directors authorized a two-year program to repurchase up to $50&#160;million of outstanding common stock to offset potential dilution from issuances of common stock under our stock-based compensation programs. During the three months ended March&#160;26, 2022, we repurchased 240,548 shares of common stock for $9.4&#160;million. We utilized the remaining funds available for repurchase under this program during fiscal 2022. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 20, 2022, our Board of Directors authorized an additional program to repurchase up to $75&#160;million of outstanding common stock, also with the primary purpose to offset potential dilution from issuances of common stock under our stock-based compensation programs. The share repurchase program will expire on May 20, 2024. During the three months ended April&#160;1, 2023, we did not repurchase any common stock. As of April&#160;1, 2023, $18.6 million remained available for future repurchases.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our policy related to repurchases of our common stock is to charge the excess of cost over par value to additional paid-in capital once the shares are retired. All repurchases were made in compliance with Rule 10b-18 under the Securities Exchange Act of 1934, as amended.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock unit (&#8220;RSU&#8221;) activity under our equity incentive plan was as follows:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:64.835%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Units</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">RSUs at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,227,081&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35.28&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,020&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25.51&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(30,751)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.87&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards forfeited</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(82,523)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35.16&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">RSUs at April 1, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,192,827&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.94&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance Restricted Stock Units</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may grant Performance RSUs (&#8220;PRSUs&#8221;) to certain executives, which vest based upon us achieving certain market performance criteria. There were no market based PRSUs granted during the three months ended April&#160;1, 2023. PRSUs are included as part of the RSU activity above. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Employee Stock Purchase Plan </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information related to activity under our Employee Stock Purchase Plan (&#8220;ESPP&#8221;) was as follows: </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:81.209%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.007%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Shares issued</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">210,055&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average per share purchase price</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23.92&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average per share discount from the fair value of our common stock on the date of issuance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4.22)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-Based Compensation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.590%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.544%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,910&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,078&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,372&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,986&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,008&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,456&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total stock-based compensation</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,290&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,520&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Unrecognized Compensation Costs</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At April&#160;1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands):&#160;</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.590%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.544%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrecognized Expense</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Average Expected<br/>Recognition Period<br/>in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,761&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.98</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Performance restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,486&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.86</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee stock purchase plan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">985&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.33</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total unrecognized stock-based compensation expense</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,232&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.93</span></td></tr></table></div><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_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityAbstract</td>
</tr>
<tr>
<td style="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_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI https://asc.fasb.org/topic&amp;trid=2208762<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496171-112644<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496171-112644<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496189-112644<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496189-112644<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496171-112644<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496189-112644<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496180-112644<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126731327&amp;loc=SL126733271-114008<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973375456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income per Share<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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 );">Net Income per Share</a></td>
<td class="text">Net Income per Share<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing basic net income per share</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,066&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">78,246&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Add potentially dilutive securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">189&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,222&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing diluted net income per share</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,255&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,468&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Securities not included as they would have been antidilutive</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,121&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109243012&amp;loc=SL65017193-207537<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI https://asc.fasb.org/topic&amp;trid=2144383<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>28
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973309952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [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_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text">Commitments and Contingencies<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See Note&#160;13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Contractual Obligations and Commitments</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our contractual obligations and commitments have not materially changed as of April&#160;1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December&#160;31, 2022. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Matters</span></div>From time to time, we may be subject to legal proceedings and claims in the ordinary course of business. As of April&#160;1, 2023, and as of the filing of this Quarterly Report on Form&#160;10-Q, we were not involved in any material legal proceedings.<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_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="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_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 commitments and 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI https://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI https://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973343072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_LeasesAbstract', window );"><strong>Leases [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 );">Leases</a></td>
<td class="text">Leases<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We lease real estate space under non-cancelable operating lease agreements for commercial and industrial space, as well as for a portion of our corporate headquarters located in Livermore, California. Our leases have remaining terms of 1 to 6 years, and some leases include options to extend up to 20 years. We also have operating leases for automobiles with remaining lease terms of 1 year. We did not include any of our renewal options in our lease terms for calculating our lease liability as the renewal options allow us to maintain operational flexibility and we are not reasonably certain we will exercise these options at this time. The weighted-average remaining lease term for our operating leases was 5 years as of April&#160;1, 2023 and the weighted-average discount rate was 3.92%. </span></div><div style="text-align:justify"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease expense were as follows (in thousands): </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.174%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.399%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Lease expense:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease expense</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,952&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,221&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Short-term lease expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">157&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Variable lease expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">746&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">458&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,855&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,719&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum payments under our non-cancelable operating leases were as follows as of April&#160;1, 2023 (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:85.449%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fiscal Year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,190&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,106&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,018&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,641&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,756&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,431&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;&#160;Total minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,142&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: interest</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4,223)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;&#160;Present value of net minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,919&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: current portion</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(7,512)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;&#160;Total long-term operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,407&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>30
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973336912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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 from Contract with Customer [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</a></td>
<td class="text">Revenue<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Transaction price allocated to the remaining performance obligations:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> On April&#160;1, 2023, we had $9.8 million of remaining performance obligations, which were comprised of deferred service contracts and extended warranty contracts and contracts with overtime revenue recognition that are not yet delivered.&#160;We expect to recognize approximately&#160;67.6% of our remaining performance obligations as revenue in the remainder of fiscal 2023, approximately 26.8% in fiscal 2024, and approximately 5.6% in fiscal 2025 and thereafter. The foregoing excludes the value of other remaining performance obligations as they have original durations of one year or less, and also excludes information about variable consideration allocated entirely to a wholly unsatisfied performance obligation. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Contract balances:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;The timing of revenue recognition may differ from the timing of invoicing to customers. Accounts receivable is recorded at the invoiced amount, net of an allowance for credit losses. A receivable is recognized in the period we deliver goods or provide services or when our right to consideration is unconditional. A contract asset is recorded when we have performed under the contract but our right to consideration is conditional on something other than the passage of time. Contract assets as of April&#160;1, 2023 and December&#160;31, 2022 were $2.9 million and $1.9 million, respectively, and are reported on the Condensed Consolidated Balance Sheets as a component of Prepaid expenses and other current assets.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract liabilities include payments received and payments due in advance of performance under a contract and are satisfied as the associated revenue is recognized. Contract liabilities are reported on the Condensed Consolidated Balance Sheets at the end of each reporting period as a component of Deferred revenue and Other liabilities. Contract liabilities as of April&#160;1, 2023 and December&#160;31, 2022 were $24.9 million and $30.9 million, respectively. During the three months ended April&#160;1, 2023, we recognized $14.0 million of revenue that was included in contract liabilities as of December&#160;31, 2022.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Costs to obtain a contract:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We generally expense sales commissions when incurred as a component of Selling, general and administrative expense, as the amortization period is typically less than one year. </span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue by category: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note&#160;15, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Operating Segments and Enterprise-Wide Information</span>, for further details.<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI https://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130551-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130550-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130558-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130554-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>31
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973429136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Segments and Enterprise-Wide Information<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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>Segment Reporting [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_SegmentReportingDisclosureTextBlock', window );">Operating Segments and Enterprise-Wide Information</a></td>
<td class="text">Operating Segments and Enterprise-Wide InformationOur chief operating decision maker (&#8220;CODM&#8221;) is our Chief Executive Officer, who reviews operating results to make decisions about allocating resources and assessing performance for the entire company. We operate in two reportable segments consisting <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of the Probe Cards segment and the Systems segment. The following table summarizes the operating results by reportable segment (dollars in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:10.888%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.142%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="45" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,623&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,746&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(3,291)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">61,078&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,202&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,407&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,385)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">94,224&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross margin</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">48.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">52.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating results provide useful information to our management for assessment of our performance and results of operations. Certain components of our operating results are utilized to determine executive compensation along with other measures. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate and Other includes unallocated expenses relating to amortization of intangible assets, inventory and fixed asset fair value adjustments due to acquisitions, share-based compensation, and restructuring charges which are not used in evaluating the results of, or in allocating resources to, our reportable segments.</span></div><div style="text-align:justify"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain revenue category information by reportable segment was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:40.712%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.113%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Market:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foundry &amp; Logic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">101,562&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">101,562&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,121&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,121&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">DRAM</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,890&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,890&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,437&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,437&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Flash</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,876&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,876&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,425&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,425&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Systems</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Timing of revenue recognition:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products transferred at a point in time</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">126,678&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,710&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">163,388&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">158,836&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35,416&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">194,252&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products and services transferred over time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">650&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,410&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,060&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,147&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,775&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,922&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Geographical region:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,897&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,432&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,329&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,522&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,547&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,069&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,641&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,090&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,731&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,976&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,671&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,647&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">China</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,476&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,623&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,099&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">32,791&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,608&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,399&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">South Korea</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,572&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,203&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,775&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,881&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,620&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,501&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Malaysia</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,324&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">946&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,270&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,517&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">682&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">22,199&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,136&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,841&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,977&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,785&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,597&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,382&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,426&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,426&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,382&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,013&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,395&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Singapore</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,200&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,140&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,340&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,284&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">612&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,896&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Rest of the world</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,656&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,845&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,501&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">845&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">841&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,686&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 34<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8981-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 26<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8844-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8657-108599<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI https://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>32
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691966261712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [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_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Presentation</a></td>
<td class="text">Basis of PresentationThe accompanying condensed consolidated financial information of FormFactor,&#160;Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;) and pursuant to the rules and regulations of the Securities and Exchange Commission (&#8220;SEC&#8221;). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year.<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_FiscalPeriod', window );">Fiscal Year</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fiscal Year</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the three months ended April&#160;1, 2023 and March&#160;26, 2022 each contained 13 weeks. Fiscal 2023 will end on December&#160;30, 2023.</span></div><span></span>
</td>
</tr>
<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_FairValueMeasurementPolicyPolicyTextBlock', window );">Fair Value</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three months ended April&#160;1, 2023 or the year ended December&#160;31, 2022.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No changes were made to our valuation techniques during the first three months of fiscal 2023.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business </span></div>acquisition.<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_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</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_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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_FiscalPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 determining an entity's fiscal year or other fiscal period. This disclosure may include identification of the fiscal period end-date, the length of the fiscal period, any reporting period lag between the entity and its subsidiaries, or equity investees. If a reporting lag exists, the closing date of the entity having a different period end is generally noted, along with an explanation of the necessity for using different closing dates. Any intervening events that materially affect the entity's financial position or results of operations are generally also disclosed.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=d3e5291-111683<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiscalPeriod</td>
</tr>
<tr>
<td style="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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="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>33
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973284320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Concentration of Credit and Other Risks (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_RisksAndUncertaintiesAbstract', window );"><strong>Risks and Uncertainties [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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock', window );">Schedule of Customer Percentage of Revenue</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Each of the following customers accounted for 10% or more of our revenues for the periods indicated: </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:72.291%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intel Corporation</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.8&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan Semiconductor Manufacturing Co., LTD.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.0&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31.5&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><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_RisksAndUncertaintiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RisksAndUncertaintiesAbstract</td>
</tr>
<tr>
<td style="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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6327-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6442-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock</td>
</tr>
<tr>
<td style="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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973375456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories, net (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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>Inventory Disclosure [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 Inventory Components</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories, net, consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">57,748&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,726&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Work-in-progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,376&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,067&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,429&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,364&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">116,553&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">123,157&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>35
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691969740560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [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_ScheduleOfGoodwillTextBlock', window );">Schedule of Goodwill by Reportable Segments</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill by reportable segment was as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:59.572%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of December 25, 2021</span></td><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,875&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">212,299&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Addition - Woburn Acquisition</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">550&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">550&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of December 31, 2022</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,020&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">211,444&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">329&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">329&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of April 1, 2023</span></td><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,349&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">211,773&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Intangible Assets</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets were as follows (in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:26.239%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.014%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Intangible Assets </span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Existing developed technologies </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">171,750&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">152,260&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,490&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">171,441&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">151,212&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,229&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,996&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,559&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,437&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,912&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,003&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,909&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,992&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,833&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,972&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,759&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">213&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">In-process research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">231,138&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">206,652&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,486&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">230,725&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,974&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,751&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<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_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock', window );">Schedule of Amortization Expense</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:73.169%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">831&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">808&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,547&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,561&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,378&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,369&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Estimated Amortization of Intangible Assets</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands): </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:85.449%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fiscal Year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,813&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,611&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,268&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,175&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,832&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,387&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,086&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life.</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_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 goodwill by reportable segment and in total which includes a rollforward schedule.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=SL108378252-109267<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="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>36
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973431616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [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_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Schedule of Accrued Liabilities</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued compensation and benefits</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,028&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,864&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued income and other taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,241&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,817&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued warranty</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,872&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,199&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee stock purchase plan contributions withheld</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,533&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,585&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued restructuring charges</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">376&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other accrued expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,931&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,401&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,981&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,115&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="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_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accrued 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_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="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>37
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691966391936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Charges (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_RestructuringAndRelatedActivitiesAbstract', window );"><strong>Restructuring and Related Activities [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_ScheduleOfRestructuringAndRelatedCostsTextBlock', window );">Restructuring Costs by Reportable Segment</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:31.063%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.581%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(45)</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">139&#160;</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">146&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">146&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,060&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,122&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,134&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">83&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,217&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">271&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">313&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><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_ScheduleOfRestructuringReserveByTypeOfCostTextBlock', window );">Schedule of Restructuring Accrual Activity</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes to the restructuring accrual in the three months ended April&#160;1, 2023 were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:37.350%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:13.524%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Employee Severance<br/>and Benefits</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Stock-based Compensation</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Inventory<br/>Impairments &amp;<br/>Other Inventory<br/>Related Costs</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restructuring charges</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">842&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">295&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,217&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,715)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(63)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,778)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-cash settlement</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(295)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(17)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(312)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">376&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">376&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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_RestructuringAndRelatedActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringAndRelatedActivitiesAbstract</td>
</tr>
<tr>
<td style="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_ScheduleOfRestructuringAndRelatedCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 5.P.3)<br> -URI https://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140864-122747<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.P.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfRestructuringReserveByTypeOfCostTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock</td>
</tr>
<tr>
<td style="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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691974312080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value and Derivative Instruments (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [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_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock', window );">Schedule of Fair Value Assets Measured on Recurring Basis</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands):&#160;</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:45.391%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,777&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,777&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,475&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,475&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25.75pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,777&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,475&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">49,252&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;U.S. treasuries</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,144&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,144&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;Certificates of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">471&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">471&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;U.S. agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,062&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,062&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,899&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,899&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,315&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,315&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7.75pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,144&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">98,747&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">123,891&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">763&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">763&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory note receivable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,041&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,041&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,921&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">106,026&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">176,890&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:45.391%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,969&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,969&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">996&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">996&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,965&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,244&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. treasuries</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificates of deposit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">706&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">706&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,045&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,045&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">67,396&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">67,396&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,840&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,840&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">103,987&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">129,006&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">664&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">664&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory note receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,374&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,374&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,298&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,990&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">160,231&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock', window );">Schedule of Foreign Currency Forward Contracts</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides information about our foreign currency forward contracts outstanding as of April&#160;1, 2023 (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:54.601%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.373%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.231%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Currency</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Position</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Amount<br/>(Local Currency)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Amount<br/>(U.S. Dollars)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Euro Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Buy</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,004&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,250&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Euro Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,356&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,472&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japanese Yen</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,227,282&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,377&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Korean Won</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Buy</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,751,490&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,355&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,413&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,435&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="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_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 presentation of foreign exchange contracts on the statement of financial position, including the fair value amounts and location of such amounts.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624163-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock</td>
</tr>
<tr>
<td style="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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973242688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_ProductWarrantiesDisclosuresAbstract', window );"><strong>Product Warranties Disclosures [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 Reconciliation of Changes in Warranty Liability</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in our warranty liability were as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at beginning of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,199&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,805&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accruals</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,390&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,214&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Settlements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,717)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,244)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at end of period</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,872&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,775&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>40
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973319360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant, and Equipment, net (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property, Plant and Equipment</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property, plant and equipment, net consisted of the following (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Land</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,136&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,136&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Building and building improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,444&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,932&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Machinery and equipment </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">280,936&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">276,180&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer equipment and software</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,568&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,813&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,481&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,540&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">87,318&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">86,500&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sub-total </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">483,883&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">478,101&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: Accumulated depreciation and amortization </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(342,763)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(335,711)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net, property, plant and equipment </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">141,120&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">142,390&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Construction-in-process</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">57,112&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47,458&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">198,232&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">189,848&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>41
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691969078272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders&#8217; Equity and Stock-Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_EquityAbstract', window );"><strong>Equity [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_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock', window );">Schedule of Restricted Stock Unit Activity</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock unit (&#8220;RSU&#8221;) activity under our equity incentive plan was as follows:</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:64.835%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Units</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">RSUs at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,227,081&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35.28&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,020&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25.51&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(30,751)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.87&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards forfeited</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(82,523)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35.16&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">RSUs at April 1, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,192,827&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.94&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock', window );">Schedule of ESPP Activity</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information related to activity under our Employee Stock Purchase Plan (&#8220;ESPP&#8221;) was as follows: </span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:81.209%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.007%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Shares issued</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">210,055&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average per share purchase price</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23.92&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average per share discount from the fair value of our common stock on the date of issuance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4.22)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<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_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Schedule of Stock-based Compensation</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.590%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.544%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,910&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,078&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,372&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,986&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,008&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,456&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total stock-based compensation</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,290&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,520&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><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_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock', window );">Schedule of Unrecognized Stock-based Compensation</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At April&#160;1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands):&#160;</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.590%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.544%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrecognized Expense</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Average Expected<br/>Recognition Period<br/>in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,761&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.98</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Performance restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,486&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.86</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee stock purchase plan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">985&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.33</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total unrecognized stock-based compensation expense</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,232&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.93</span></td></tr></table></div><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_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityAbstract</td>
</tr>
<tr>
<td style="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_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 employee stock purchase plan activity.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cost not yet recognized and weighted-average period over which cost is expected to be recognized for nonvested 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock</td>
</tr>
<tr>
<td style="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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973314768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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 Calculation of Numerator and Denominator in Earnings Per Share</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):</span></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing basic net income per share</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,066&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">78,246&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Add potentially dilutive securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">189&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,222&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing diluted net income per share</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,255&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,468&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Securities not included as they would have been antidilutive</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,121&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>43
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691974312208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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_LeasesAbstract', window );"><strong>Leases [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_LeaseCostTableTextBlock', window );">Schedule of Components of Lease Expense</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease expense were as follows (in thousands): </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.174%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.399%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Lease expense:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease expense</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,952&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,221&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Short-term lease expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">157&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Variable lease expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">746&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">458&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,855&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,719&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 Future Minimum Payments Under Leases</a></td>
<td class="text"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum payments under our non-cancelable operating leases were as follows as of April&#160;1, 2023 (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:85.449%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fiscal Year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,190&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,106&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,018&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,641&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,756&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,431&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;&#160;Total minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,142&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: interest</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4,223)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;&#160;Present value of net minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,919&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: current portion</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(7,512)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;&#160;Total long-term operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,407&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><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_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>44
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691974432960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Segments and Enterprise-Wide Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 01, 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>Segment Reporting [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_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of Operating Results by Segment</a></td>
<td class="text">The following table summarizes the operating results by reportable segment (dollars in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:10.888%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.142%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="45" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,623&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,746&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(3,291)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">61,078&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,202&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,407&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,385)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">94,224&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross margin</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">48.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">52.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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_DisaggregationOfRevenueTableTextBlock', window );">Schedule of Disaggregation of Revenue by Segment</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain revenue category information by reportable segment was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:40.712%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.113%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Market:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foundry &amp; Logic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">101,562&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">101,562&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,121&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,121&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">DRAM</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,890&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,890&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,437&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,437&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Flash</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,876&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,876&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,425&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,425&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Systems</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Timing of revenue recognition:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products transferred at a point in time</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">126,678&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,710&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">163,388&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">158,836&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35,416&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">194,252&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products and services transferred over time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">650&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,410&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,060&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,147&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,775&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,922&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Geographical region:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,897&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,432&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,329&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,522&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,547&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,069&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,641&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,090&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,731&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,976&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,671&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,647&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">China</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,476&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,623&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,099&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">32,791&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,608&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,399&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">South Korea</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,572&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,203&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,775&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,881&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,620&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,501&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Malaysia</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,324&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">946&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,270&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,517&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">682&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">22,199&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,136&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,841&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,977&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,785&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,597&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,382&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,426&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,426&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,382&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,013&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,395&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Singapore</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,200&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,140&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,340&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,284&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">612&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,896&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Rest of the world</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,656&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,845&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,501&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">845&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">841&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,686&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>45
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140692064776144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Significant Accounting Policies (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2023</div></th>
<th class="th"><div>Apr. 01, 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_form_DeferredGovernmentGrantLiability', window );">Cash received from grant</a></td>
<td class="nump">$ 18,000<span></span>
</td>
<td class="nump">$ 18,000<span></span>
</td>
<td class="nump">$ 0<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_form_DeferredGovernmentGrantLiabilityTerm', window );">Grant term</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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_form_DeferredGovernmentGrantLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred Government Grant 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;">form_DeferredGovernmentGrantLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>form_</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_form_DeferredGovernmentGrantLiabilityTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred Government Grant Liability, Term</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;">form_DeferredGovernmentGrantLiabilityTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>form_</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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="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>46
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691965629488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Concentration of Credit and Other Risks (Details) - Customer Concentration Risk<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 2022</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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Revenue Benchmark | Two Major Customers</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>Concentration Risk [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 );">Concentration risk percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">10.00%<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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Revenue from Contract with Customer Benchmark | Intel Corporation</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>Concentration Risk [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 );">Concentration risk percentage</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.80%<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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Revenue from Contract with Customer Benchmark | Taiwan Semiconductor Manufacturing Co., LTD.</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>Concentration Risk [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 );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.70%<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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Revenue from Contract with Customer Benchmark | Customers Representing 10% or More of Total Revenues</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>Concentration Risk [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 );">Concentration risk percentage</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">31.50%<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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Accounts Receivable | Major Customer 1</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>Concentration Risk [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 );">Concentration risk percentage</a></td>
<td class="nump">17.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13.80%<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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Accounts Receivable | Major Customer 2</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>Concentration Risk [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 );">Concentration risk percentage</a></td>
<td class="nump">15.90%<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_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>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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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_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_srt_MajorCustomersAxis=form_TwoMajorCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_TwoMajorCustomersMember</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_ConcentrationRiskByBenchmarkAxis=us-gaap_RevenueFromContractWithCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RevenueFromContractWithCustomerMember</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=form_IntelMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_IntelMember</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=form_TaiwanSemiconductorManufacturingCoLTDMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_TaiwanSemiconductorManufacturingCoLTDMember</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=form_CustomersRepresenting10OrMoreOfTotalRevenuesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_CustomersRepresenting10OrMoreOfTotalRevenuesMember</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_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_srt_MajorCustomersAxis=form_MajorCustomer1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_MajorCustomer1Member</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=form_MajorCustomer2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_MajorCustomer2Member</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>47
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691969397088">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories, net (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 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_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [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_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">$ 57,748<span></span>
</td>
<td class="nump">$ 55,726<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_InventoryWorkInProcessNetOfReserves', window );">Work-in-progress</a></td>
<td class="nump">39,376<span></span>
</td>
<td class="nump">46,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_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">19,429<span></span>
</td>
<td class="nump">21,364<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_InventoryNet', window );">Inventories</a></td>
<td class="nump">$ 116,553<span></span>
</td>
<td class="nump">$ 123,157<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_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="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_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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="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_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="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>48
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691969049344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Goodwill (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Jun. 25, 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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_Goodwill', window );">Goodwill, beginning balance</a></td>
<td class="nump">$ 211,444<span></span>
</td>
<td class="nump">$ 212,299<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_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</a></td>
<td class="nump">329<span></span>
</td>
<td class="num">(1,405)<span></span>
</td>
</tr>
<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, ending balance</a></td>
<td class="nump">211,773<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_BusinessAcquisitionAxis=form_WoburnMember', window );">Woburn</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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_GoodwillAcquiredDuringPeriod', window );">Goodwill, acquired during period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">550<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=form_ProbeCardsSegmentMember', window );">Probe Cards</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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_Goodwill', window );">Goodwill, beginning balance</a></td>
<td class="nump">178,424<span></span>
</td>
<td class="nump">178,424<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_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<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, ending balance</a></td>
<td class="nump">178,424<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_StatementBusinessSegmentsAxis=form_ProbeCardsSegmentMember', window );">Probe Cards | Woburn</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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_GoodwillAcquiredDuringPeriod', window );">Goodwill, acquired during period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<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=form_SystemsSegmentMember', window );">Systems</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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_Goodwill', window );">Goodwill, beginning balance</a></td>
<td class="nump">33,020<span></span>
</td>
<td class="nump">33,875<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_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</a></td>
<td class="nump">329<span></span>
</td>
<td class="num">(1,405)<span></span>
</td>
</tr>
<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, ending balance</a></td>
<td class="nump">$ 33,349<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_StatementBusinessSegmentsAxis=form_SystemsSegmentMember', window );">Systems | Woburn</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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_GoodwillAcquiredDuringPeriod', window );">Goodwill, acquired during period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 550<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_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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from 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/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="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_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="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_GoodwillRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_GoodwillRollForward</td>
</tr>
<tr>
<td style="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_BusinessAcquisitionAxis=form_WoburnMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessAcquisitionAxis=form_WoburnMember</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=form_ProbeCardsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_ProbeCardsSegmentMember</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=form_SystemsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_SystemsSegmentMember</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>49
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973382752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Additional information (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Apr. 01, 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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [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_GoodwillImpairmentLoss', window );">Goodwill, impairment loss</a></td>
<td class="nump">$ 0<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_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="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_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss from the write-down of an asset representing the 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13854-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13777-109266<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=122137925&amp;loc=d3e14258-109268<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="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>50
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691965612128">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross</a></td>
<td class="nump">$ 231,138<span></span>
</td>
<td class="nump">$ 230,725<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="nump">206,652<span></span>
</td>
<td class="nump">203,974<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_FiniteLivedIntangibleAssetsNet', window );">Net</a></td>
<td class="nump">24,486<span></span>
</td>
<td class="nump">26,751<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=form_ExistingDevelopedTechnologiesMember', window );">Existing developed technologies</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross</a></td>
<td class="nump">171,750<span></span>
</td>
<td class="nump">171,441<span></span>
</td>
</tr>
<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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">152,260<span></span>
</td>
<td class="nump">151,212<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_FiniteLivedIntangibleAssetsNet', window );">Net</a></td>
<td class="nump">19,490<span></span>
</td>
<td class="nump">20,229<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</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross</a></td>
<td class="nump">50,996<span></span>
</td>
<td class="nump">50,912<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="nump">46,559<span></span>
</td>
<td class="nump">45,003<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_FiniteLivedIntangibleAssetsNet', window );">Net</a></td>
<td class="nump">4,437<span></span>
</td>
<td class="nump">5,909<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_TradeNamesMember', window );">Trade name</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross</a></td>
<td class="nump">7,992<span></span>
</td>
<td class="nump">7,972<span></span>
</td>
</tr>
<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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">7,833<span></span>
</td>
<td class="nump">7,759<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_FiniteLivedIntangibleAssetsNet', window );">Net</a></td>
<td class="nump">159<span></span>
</td>
<td class="nump">213<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_InProcessResearchAndDevelopmentMember', window );">In-process research and development</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross</a></td>
<td class="nump">400<span></span>
</td>
<td class="nump">400<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="nump">0<span></span>
</td>
<td class="nump">0<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_FiniteLivedIntangibleAssetsNet', window );">Net</a></td>
<td class="nump">$ 400<span></span>
</td>
<td class="nump">$ 400<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="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_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="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_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="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=form_ExistingDevelopedTechnologiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_ExistingDevelopedTechnologiesMember</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TradeNamesMember</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_InProcessResearchAndDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InProcessResearchAndDevelopmentMember</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>51
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140692064774224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Amortization Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 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_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">$ 2,378<span></span>
</td>
<td class="nump">$ 2,369<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_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [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_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear', window );">Remainder of 2023</a></td>
<td class="nump">4,813<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 );">2024</a></td>
<td class="nump">4,611<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 );">2025</a></td>
<td class="nump">4,268<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 );">2026</a></td>
<td class="nump">3,175<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 );">2027</a></td>
<td class="nump">2,832<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_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour', window );">Thereafter</a></td>
<td class="nump">4,387<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal', window );">Net</a></td>
<td class="nump">24,086<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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of revenues</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_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">831<span></span>
</td>
<td class="nump">808<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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative</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_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">$ 1,547<span></span>
</td>
<td class="nump">$ 1,561<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finite-Lived Intangible Asset, Expected Amortization, after Year Four</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;">form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>form_</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_form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finite Lived Intangible Assets Amortization Expense Total</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;">form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>form_</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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 remainder of current fiscal year.</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_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract</td>
</tr>
<tr>
<td style="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_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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</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>52
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140692064755824">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accrued Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 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_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [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_EmployeeRelatedLiabilitiesCurrent', window );">Accrued compensation and benefits</a></td>
<td class="nump">$ 20,028<span></span>
</td>
<td class="nump">$ 15,864<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_TaxesPayableCurrentAndNoncurrent', window );">Accrued income and other taxes</a></td>
<td class="nump">3,241<span></span>
</td>
<td class="nump">12,817<span></span>
</td>
</tr>
<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_ProductWarrantyAccrualClassifiedCurrent', window );">Accrued warranty</a></td>
<td class="nump">3,872<span></span>
</td>
<td class="nump">4,199<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_AccruedEmployeeBenefitsCurrent', window );">Employee stock purchase plan contributions withheld</a></td>
<td class="nump">1,533<span></span>
</td>
<td class="nump">4,585<span></span>
</td>
</tr>
<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_RestructuringReserve', window );">Accrued restructuring charges</a></td>
<td class="nump">376<span></span>
</td>
<td class="nump">1,249<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_OtherAccruedLiabilitiesCurrent', window );">Other accrued expenses</a></td>
<td class="nump">2,931<span></span>
</td>
<td class="nump">3,401<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_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">$ 31,981<span></span>
</td>
<td class="nump">$ 42,115<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_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> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. 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).</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> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="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_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. 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> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="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_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expenses incurred but not yet paid classified as other, due 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="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_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="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_ProductWarrantyAccrualClassifiedCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and payable for estimated claims under standard and extended warranty protection rights granted to customers. 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>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12524-110249<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 25<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126907644&amp;loc=d3e11281-110244<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualClassifiedCurrent</td>
</tr>
<tr>
<td style="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_RestructuringReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.P.4(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringReserve</td>
</tr>
<tr>
<td style="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_TaxesPayableCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</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> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="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>53
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691966613952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Charges - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">5 Months Ended</th>
<th class="th" colspan="1">18 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 25, 2022</div></th>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 2022</div></th>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Apr. 01, 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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,217<span></span>
</td>
<td class="nump">$ 313<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_RestructuringCostAndReserveAxis=form_StockBasedCompensationMember', window );">Stock-based Compensation</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">295<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_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember', window );">Employee Severance and Benefits</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">842<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_RestructuringCostAndReserveAxis=form_InventoryImpairmentsMember', window );">Inventory Impairments &amp; Other Inventory Related Costs</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80<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_StatementBusinessSegmentsAxis=form_ProbeCardsSegmentMember', window );">Probe Cards</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,134<span></span>
</td>
<td class="nump">42<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_StatementBusinessSegmentsAxis=form_SystemsSegmentMember', window );">Systems</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 83<span></span>
</td>
<td class="nump">$ 271<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_RestructuringPlanAxis=form_A2022RestructuringPlanMember', window );">2022 Restructuring Plan</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent', window );">Percent of workforce eliminated</a></td>
<td class="nump">13.00%<span></span>
</td>
<td class="text">&#160;<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_RestructuringCharges', window );">Restructuring charges</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">$ 8,100<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_RestructuringPlanAxis=form_A2022RestructuringPlanMember', window );">2022 Restructuring Plan | Stock-based Compensation</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</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">300<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_RestructuringPlanAxis=form_A2022RestructuringPlanMember', window );">2022 Restructuring Plan | Corporate, Non-Segment</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</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">500<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_RestructuringPlanAxis=form_A2022RestructuringPlanMember', window );">2022 Restructuring Plan | Probe Cards</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</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">7,100<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_RestructuringPlanAxis=form_A2022RestructuringPlanMember', window );">2022 Restructuring Plan | Systems</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</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">$ 500<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_RestructuringPlanAxis=form_A2021RestructuringPlanMember', window );">2021 Restructuring Plan</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</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">$ 12,700<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_RestructuringPlanAxis=form_A2021RestructuringPlanMember', window );">2021 Restructuring Plan | Employee Severance and Benefits</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</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">1,300<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_RestructuringPlanAxis=form_A2021RestructuringPlanMember', window );">2021 Restructuring Plan | Contract Termination &amp; Other Costs</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</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">1,800<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_RestructuringPlanAxis=form_A2021RestructuringPlanMember', window );">2021 Restructuring Plan | Inventory Impairments &amp; Other Inventory Related Costs</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</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">9,100<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_RestructuringPlanAxis=form_A2021RestructuringPlanMember', window );">2021 Restructuring Plan | Other Costs</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</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">500<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_RestructuringPlanAxis=form_A2021RestructuringPlanMember', window );">2021 Restructuring Plan | Probe Cards</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</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">9,900<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_RestructuringPlanAxis=form_A2021RestructuringPlanMember', window );">2021 Restructuring Plan | Systems</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</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">$ 2,800<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_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 positions eliminated during the period as a percentage of total positions eliminated during the period in connection with the restructuring plan(s).</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_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent</td>
</tr>
<tr>
<td style="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_RestructuringCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109237686&amp;loc=d3e17752-110868<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.P.3)<br> -URI https://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140864-122747<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCharges</td>
</tr>
<tr>
<td style="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_RestructuringCostAndReserveLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RestructuringCostAndReserveLineItems</td>
</tr>
<tr>
<td style="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_RestructuringCostAndReserveAxis=form_StockBasedCompensationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringCostAndReserveAxis=form_StockBasedCompensationMember</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_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember</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_RestructuringCostAndReserveAxis=form_InventoryImpairmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringCostAndReserveAxis=form_InventoryImpairmentsMember</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=form_ProbeCardsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_ProbeCardsSegmentMember</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=form_SystemsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_SystemsSegmentMember</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_RestructuringPlanAxis=form_A2022RestructuringPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringPlanAxis=form_A2022RestructuringPlanMember</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_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember</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_RestructuringPlanAxis=form_A2021RestructuringPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringPlanAxis=form_A2021RestructuringPlanMember</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_RestructuringCostAndReserveAxis=us-gaap_ContractTerminationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringCostAndReserveAxis=us-gaap_ContractTerminationMember</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_RestructuringCostAndReserveAxis=us-gaap_OtherRestructuringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringCostAndReserveAxis=us-gaap_OtherRestructuringMember</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>54
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691966569440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Charges - Restructuring Charges (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">$ 1,217<span></span>
</td>
<td class="nump">$ 313<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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of revenues</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">25<span></span>
</td>
<td class="nump">139<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_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">70<span></span>
</td>
<td class="nump">146<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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">1,122<span></span>
</td>
<td class="nump">28<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=form_ProbeCardsSegmentMember', window );">Probe Cards</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">1,134<span></span>
</td>
<td class="nump">42<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=form_ProbeCardsSegmentMember', window );">Probe Cards | Cost of revenues</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">70<span></span>
</td>
<td class="nump">39<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=form_ProbeCardsSegmentMember', window );">Probe Cards | Research and development</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">0<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=form_ProbeCardsSegmentMember', window );">Probe Cards | Selling, general and administrative</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">1,060<span></span>
</td>
<td class="nump">3<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=form_SystemsSegmentMember', window );">Systems</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">83<span></span>
</td>
<td class="nump">271<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=form_SystemsSegmentMember', window );">Systems | Cost of revenues</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="num">(45)<span></span>
</td>
<td class="nump">100<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=form_SystemsSegmentMember', window );">Systems | Research and development</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">66<span></span>
</td>
<td class="nump">146<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=form_SystemsSegmentMember', window );">Systems | Selling, general and administrative</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">$ 62<span></span>
</td>
<td class="nump">$ 25<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_RestructuringCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109237686&amp;loc=d3e17752-110868<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.P.3)<br> -URI https://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140864-122747<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCharges</td>
</tr>
<tr>
<td style="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_RestructuringCostAndReserveLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RestructuringCostAndReserveLineItems</td>
</tr>
<tr>
<td style="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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</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_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</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=form_ProbeCardsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_ProbeCardsSegmentMember</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=form_SystemsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_SystemsSegmentMember</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>55
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691971070672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Charges - Changes to the Restructuring Accrual (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 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_RestructuringReserveRollForward', window );"><strong>Restructuring Reserve [Roll Forward]</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_RestructuringReserve', window );">Accrual at beginning of period</a></td>
<td class="nump">$ 1,249<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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">1,217<span></span>
</td>
<td class="nump">$ 313<span></span>
</td>
</tr>
<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_PaymentsForRestructuring', window );">Cash payments</a></td>
<td class="num">(1,778)<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_RestructuringReserveSettledWithoutCash2', window );">Non-cash settlement</a></td>
<td class="num">(312)<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_RestructuringReserve', window );">Accrual at end of period</a></td>
<td class="nump">376<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_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember', window );">Employee Severance and Benefits</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_RestructuringReserveRollForward', window );"><strong>Restructuring Reserve [Roll Forward]</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_RestructuringReserve', window );">Accrual at beginning of period</a></td>
<td class="nump">1,249<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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">842<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_PaymentsForRestructuring', window );">Cash payments</a></td>
<td class="num">(1,715)<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_RestructuringReserveSettledWithoutCash2', window );">Non-cash settlement</a></td>
<td class="nump">0<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_RestructuringReserve', window );">Accrual at end of period</a></td>
<td class="nump">376<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_RestructuringCostAndReserveAxis=form_StockBasedCompensationMember', window );">Stock-based Compensation</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_RestructuringReserveRollForward', window );"><strong>Restructuring Reserve [Roll Forward]</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_RestructuringReserve', window );">Accrual at beginning of period</a></td>
<td class="nump">0<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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">295<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_PaymentsForRestructuring', window );">Cash payments</a></td>
<td class="nump">0<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_RestructuringReserveSettledWithoutCash2', window );">Non-cash settlement</a></td>
<td class="num">(295)<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_RestructuringReserve', window );">Accrual at end of period</a></td>
<td class="nump">0<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_RestructuringCostAndReserveAxis=form_InventoryImpairmentsMember', window );">Inventory Impairments &amp; Other Inventory Related Costs</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_RestructuringReserveRollForward', window );"><strong>Restructuring Reserve [Roll Forward]</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_RestructuringReserve', window );">Accrual at beginning of period</a></td>
<td class="nump">0<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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">80<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_PaymentsForRestructuring', window );">Cash payments</a></td>
<td class="num">(63)<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_RestructuringReserveSettledWithoutCash2', window );">Non-cash settlement</a></td>
<td class="num">(17)<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_RestructuringReserve', window );">Accrual at end of period</a></td>
<td class="nump">$ 0<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_PaymentsForRestructuring">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3367-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRestructuring</td>
</tr>
<tr>
<td style="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_RestructuringCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109237686&amp;loc=d3e17752-110868<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.P.3)<br> -URI https://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140864-122747<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCharges</td>
</tr>
<tr>
<td style="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_RestructuringReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.P.4(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringReserve</td>
</tr>
<tr>
<td style="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_RestructuringReserveRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_RestructuringReserveRollForward</td>
</tr>
<tr>
<td style="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_RestructuringReserveSettledWithoutCash2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 decrease in the reserve for full or partial settlement through consideration other than cash.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringReserveSettledWithoutCash2</td>
</tr>
<tr>
<td style="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_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringCostAndReserveAxis=us-gaap_EmployeeSeveranceMember</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_RestructuringCostAndReserveAxis=form_StockBasedCompensationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringCostAndReserveAxis=form_StockBasedCompensationMember</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_RestructuringCostAndReserveAxis=form_InventoryImpairmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringCostAndReserveAxis=form_InventoryImpairmentsMember</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>56
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691963479760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">$ 49,252<span></span>
</td>
<td class="nump">$ 27,244<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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">123,891<span></span>
</td>
<td class="nump">129,006<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_AssetsFairValueDisclosure', window );">Total assets</a></td>
<td class="nump">176,890<span></span>
</td>
<td class="nump">160,231<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_LiabilitiesFairValueDisclosure', window );">Total liabilities</a></td>
<td class="num">(2)<span></span>
</td>
<td class="num">(193)<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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeContractMember', window );">Foreign exchange derivative contracts | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_DerivativeAssets', window );">Derivative contracts</a></td>
<td class="nump">763<span></span>
</td>
<td class="nump">664<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_DerivativeLiabilities', window );">Derivative liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(193)<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_DerivativeInstrumentRiskAxis=us-gaap_NotesReceivableMember', window );">Promissory note receivable | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_DerivativeAssets', window );">Derivative contracts</a></td>
<td class="nump">943<span></span>
</td>
<td class="nump">943<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_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest rate swap derivative contracts | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_DerivativeAssets', window );">Derivative contracts</a></td>
<td class="nump">2,041<span></span>
</td>
<td class="nump">2,374<span></span>
</td>
</tr>
<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_DerivativeLiabilities', window );">Derivative liability</a></td>
<td class="num">(2)<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_FairValueByAssetClassAxis=us-gaap_MoneyMarketFundsMember', window );">Money market funds</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">44,777<span></span>
</td>
<td class="nump">21,279<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_FairValueByAssetClassAxis=us-gaap_CommercialPaperMember', window );">Commercial paper</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">4,475<span></span>
</td>
<td class="nump">4,969<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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">31,315<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_FairValueByAssetClassAxis=us-gaap_CommercialPaperMember', window );">Commercial paper | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24,840<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_FairValueByAssetClassAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate bonds</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">53,899<span></span>
</td>
<td class="nump">67,396<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_FairValueByAssetClassAxis=us-gaap_USTreasuryBillSecuritiesMember', window );">U.S. treasuries</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">25,144<span></span>
</td>
<td class="nump">25,019<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_FairValueByAssetClassAxis=us-gaap_CertificatesOfDepositMember', window );">Certificates of deposit</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">471<span></span>
</td>
<td class="nump">706<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_FairValueByAssetClassAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember', window );">U.S. agency securities</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">996<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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">13,062<span></span>
</td>
<td class="nump">11,045<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">44,777<span></span>
</td>
<td class="nump">21,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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">25,144<span></span>
</td>
<td class="nump">25,019<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_AssetsFairValueDisclosure', window );">Total assets</a></td>
<td class="nump">69,921<span></span>
</td>
<td class="nump">46,298<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_LiabilitiesFairValueDisclosure', window );">Total liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1 | Foreign exchange derivative contracts | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_DerivativeAssets', window );">Derivative contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">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_DerivativeLiabilities', window );">Derivative liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1 | Promissory note receivable | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_DerivativeAssets', window );">Derivative contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1 | Interest rate swap derivative contracts | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_DerivativeAssets', window );">Derivative contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<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_DerivativeLiabilities', window );">Derivative liability</a></td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1 | Money market funds</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">44,777<span></span>
</td>
<td class="nump">21,279<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1 | Commercial paper</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1 | Commercial paper | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1 | Corporate bonds</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1 | U.S. treasuries</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">25,144<span></span>
</td>
<td class="nump">25,019<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1 | Certificates of deposit</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1 | U.S. agency securities</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level 2</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">4,475<span></span>
</td>
<td class="nump">5,965<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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">98,747<span></span>
</td>
<td class="nump">103,987<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_AssetsFairValueDisclosure', window );">Total assets</a></td>
<td class="nump">106,026<span></span>
</td>
<td class="nump">112,990<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_LiabilitiesFairValueDisclosure', window );">Total liabilities</a></td>
<td class="num">(2)<span></span>
</td>
<td class="num">(193)<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level 2 | Foreign exchange derivative contracts | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_DerivativeAssets', window );">Derivative contracts</a></td>
<td class="nump">763<span></span>
</td>
<td class="nump">664<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_DerivativeLiabilities', window );">Derivative liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(193)<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level 2 | Promissory note receivable | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_DerivativeAssets', window );">Derivative contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level 2 | Interest rate swap derivative contracts | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_DerivativeAssets', window );">Derivative contracts</a></td>
<td class="nump">2,041<span></span>
</td>
<td class="nump">2,374<span></span>
</td>
</tr>
<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_DerivativeLiabilities', window );">Derivative liability</a></td>
<td class="num">(2)<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level 2 | Money market funds</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level 2 | Commercial paper</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">4,475<span></span>
</td>
<td class="nump">4,969<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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">31,315<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level 2 | Commercial paper | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24,840<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level 2 | Corporate bonds</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">53,899<span></span>
</td>
<td class="nump">67,396<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level 2 | U.S. treasuries</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level 2 | Certificates of deposit</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">471<span></span>
</td>
<td class="nump">706<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level 2 | U.S. agency securities</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">996<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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">13,062<span></span>
</td>
<td class="nump">11,045<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_AssetsFairValueDisclosure', window );">Total assets</a></td>
<td class="nump">943<span></span>
</td>
<td class="nump">943<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_LiabilitiesFairValueDisclosure', window );">Total liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3 | Foreign exchange derivative contracts | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_DerivativeAssets', window );">Derivative contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">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_DerivativeLiabilities', window );">Derivative liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3 | Promissory note receivable | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_DerivativeAssets', window );">Derivative contracts</a></td>
<td class="nump">943<span></span>
</td>
<td class="nump">943<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3 | Interest rate swap derivative contracts | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_DerivativeAssets', window );">Derivative contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<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_DerivativeLiabilities', window );">Derivative liability</a></td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3 | Money market funds</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3 | Commercial paper</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3 | Commercial paper | Designated as hedging instrument</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3 | Corporate bonds</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3 | U.S. treasuries</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3 | Certificates of deposit</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3 | U.S. agency securities</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems', window );"><strong>Fair Value, Balance Sheet Grouping, Financial Statement Captions [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_CashAndCashEquivalentsFairValueDisclosure', window );">Cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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_MarketableSecurities', window );">Marketable securities</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<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_AssetsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosure</td>
</tr>
<tr>
<td style="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_CashAndCashEquivalentsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion 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.</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_CashAndCashEquivalentsFairValueDisclosure</td>
</tr>
<tr>
<td style="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_DerivativeAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226052-175313<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssets</td>
</tr>
<tr>
<td style="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_DerivativeLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226052-175313<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilities</td>
</tr>
<tr>
<td style="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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems</td>
</tr>
<tr>
<td style="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_LiabilitiesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial and nonfinancial 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueDisclosure</td>
</tr>
<tr>
<td style="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_MarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in marketable security.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecurities</td>
</tr>
<tr>
<td style="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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeContractMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeContractMember</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_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</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_DerivativeInstrumentRiskAxis=us-gaap_NotesReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DerivativeInstrumentRiskAxis=us-gaap_NotesReceivableMember</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_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</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_FairValueByAssetClassAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByAssetClassAxis=us-gaap_MoneyMarketFundsMember</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_FairValueByAssetClassAxis=us-gaap_CommercialPaperMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByAssetClassAxis=us-gaap_CommercialPaperMember</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_FairValueByAssetClassAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByAssetClassAxis=us-gaap_CorporateBondSecuritiesMember</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_FairValueByAssetClassAxis=us-gaap_USTreasuryBillSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByAssetClassAxis=us-gaap_USTreasuryBillSecuritiesMember</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_FairValueByAssetClassAxis=us-gaap_CertificatesOfDepositMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByAssetClassAxis=us-gaap_CertificatesOfDepositMember</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_FairValueByAssetClassAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByAssetClassAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember</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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</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>57
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691966519632">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details) - Apr. 01, 2023 - Foreign Exchange Forward<br> &#8364; in Thousands, &#8361; in Thousands, &#165; in Thousands, $ in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>EUR (&#8364;)</div></th>
<th class="th"><div>USD ($)</div></th>
<th class="th"><div>JPY (&#165;)</div></th>
<th class="th"><div>KRW (&#8361;)</div></th>
<th class="th"><div>TWD ($)</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_PositionAxis=us-gaap_LongMember', window );">Buy | Euro Dollar</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_DerivativeLineItems', window );"><strong>Derivative [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_DerivativeNotionalAmount', window );">Derivative, notional amount</a></td>
<td class="nump">&#8364; 23,004<span></span>
</td>
<td class="nump">$ 24,250<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_PositionAxis=us-gaap_LongMember', window );">Buy | Korean Won</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_DerivativeLineItems', window );"><strong>Derivative [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_DerivativeNotionalAmount', window );">Derivative, notional amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,355<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8361; 1,751,490<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_PositionAxis=us-gaap_ShortMember', window );">Sell | Euro Dollar</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_DerivativeLineItems', window );"><strong>Derivative [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_DerivativeNotionalAmount', window );">Derivative, notional amount</a></td>
<td class="nump">&#8364; 2,356<span></span>
</td>
<td class="nump">2,472<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_PositionAxis=us-gaap_ShortMember', window );">Sell | Japanese Yen</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_DerivativeLineItems', window );"><strong>Derivative [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_DerivativeNotionalAmount', window );">Derivative, notional amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">24,377<span></span>
</td>
<td class="nump">&#165; 3,227,282<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_PositionAxis=us-gaap_ShortMember', window );">Sell | Taiwan Dollar</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_DerivativeLineItems', window );"><strong>Derivative [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_DerivativeNotionalAmount', window );">Derivative, notional amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,435<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 43,413<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_DerivativeLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_DerivativeLineItems</td>
</tr>
<tr>
<td style="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_DerivativeNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Nominal or face amount used to calculate payment on derivative.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5580258-113959<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5579245-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeNotionalAmount</td>
</tr>
<tr>
<td style="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>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_PositionAxis=us-gaap_LongMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PositionAxis=us-gaap_LongMember</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_CurrencyAxis=currency_EUR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CurrencyAxis=currency_EUR</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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember</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_CurrencyAxis=currency_KRW">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CurrencyAxis=currency_KRW</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_PositionAxis=us-gaap_ShortMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PositionAxis=us-gaap_ShortMember</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_CurrencyAxis=currency_JPY">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CurrencyAxis=currency_JPY</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_CurrencyAxis=currency_TWD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CurrencyAxis=currency_TWD</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>58
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691966316048">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value and Derivative Instruments - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Mar. 26, 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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [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_AssetsFairValueDisclosure', window );">Assets measured at fair value on non-recurring basis</a></td>
<td class="nump">$ 176,890,000<span></span>
</td>
<td class="nump">$ 160,231,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_LiabilitiesFairValueDisclosure', window );">Liabilities measured at fair value on non-recurring basis</a></td>
<td class="nump">2,000<span></span>
</td>
<td class="nump">$ 193,000<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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsNonrecurringMember', window );">Nonrecurring</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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [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_AssetsFairValueDisclosure', window );">Assets measured at fair value on non-recurring basis</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 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_LiabilitiesFairValueDisclosure', window );">Liabilities measured at fair value on non-recurring basis</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<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_AssetsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosure</td>
</tr>
<tr>
<td style="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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="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_LiabilitiesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial and nonfinancial 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueDisclosure</td>
</tr>
<tr>
<td style="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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsNonrecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsNonrecurringMember</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>59
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691975004032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 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_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward', window );"><strong>Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]</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_ProductWarrantyAccrual', window );">Balance at beginning of period</a></td>
<td class="nump">$ 4,199<span></span>
</td>
<td class="nump">$ 2,805<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_ProductWarrantyAccrualWarrantiesIssued', window );">Accruals</a></td>
<td class="nump">1,390<span></span>
</td>
<td class="nump">1,214<span></span>
</td>
</tr>
<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_ProductWarrantyAccrualPayments', window );">Settlements</a></td>
<td class="num">(1,717)<span></span>
</td>
<td class="num">(1,244)<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_ProductWarrantyAccrual', window );">Balance at end of period</a></td>
<td class="nump">$ 3,872<span></span>
</td>
<td class="nump">$ 2,775<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_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward</td>
</tr>
<tr>
<td style="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_ProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and payable for estimated claims under standard and extended warranty protection rights granted to customers.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrual</td>
</tr>
<tr>
<td style="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_ProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="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_ProductWarrantyAccrualWarrantiesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the standard and extended product warranty accrual from warranties issued.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualWarrantiesIssued</td>
</tr>
<tr>
<td style="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>60
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691969060432">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Property, Plant, and Equipment, net (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 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 );">Sub-total</a></td>
<td class="nump">$ 483,883<span></span>
</td>
<td class="nump">$ 478,101<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: Accumulated depreciation and amortization</a></td>
<td class="num">(342,763)<span></span>
</td>
<td class="num">(335,711)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress', window );">Net, property, plant and equipment</a></td>
<td class="nump">141,120<span></span>
</td>
<td class="nump">142,390<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_ConstructionInProgressGross', window );">Construction-in-process</a></td>
<td class="nump">57,112<span></span>
</td>
<td class="nump">47,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_PropertyPlantAndEquipmentNet', window );">Total</a></td>
<td class="nump">198,232<span></span>
</td>
<td class="nump">189,848<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_LandMember', window );">Land</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 );">Sub-total</a></td>
<td class="nump">17,136<span></span>
</td>
<td class="nump">17,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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and building improvements</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 );">Sub-total</a></td>
<td class="nump">44,444<span></span>
</td>
<td class="nump">44,932<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_EquipmentMember', window );">Machinery and equipment</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 );">Sub-total</a></td>
<td class="nump">280,936<span></span>
</td>
<td class="nump">276,180<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_ComputerEquipmentMember', window );">Computer equipment and software</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 );">Sub-total</a></td>
<td class="nump">46,568<span></span>
</td>
<td class="nump">45,813<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_FurnitureAndFixturesMember', window );">Furniture and fixtures</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 );">Sub-total</a></td>
<td class="nump">7,481<span></span>
</td>
<td class="nump">7,540<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_LeaseholdImprovementsMember', window );">Leasehold improvements</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 );">Sub-total</a></td>
<td class="nump">$ 87,318<span></span>
</td>
<td class="nump">$ 86,500<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Property Plant And Equipment Net, Excludes Construction in Progress</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;">form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>form_</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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ConstructionInProgressGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConstructionInProgressGross</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_LandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LandMember</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_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquipmentMember</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_ComputerEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComputerEquipmentMember</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_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FurnitureAndFixturesMember</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_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeaseholdImprovementsMember</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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691969465104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders&#8217; Equity and Stock-Based Compensation - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 2022</div></th>
<th class="th"><div>May 20, 2022</div></th>
<th class="th"><div>Oct. 26, 2020</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>Share-based Compensation Arrangement by Share-based Payment Award [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_StockRepurchasedAndRetiredDuringPeriodValue', window );">Purchase of common stock value retired through repurchase program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,397,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_StatementClassOfStockAxis=us-gaap_CommonStockMember', window );">Common Stock | October 2020 Stock Repurchase Program</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Stock repurchase program authorized amount</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">$ 50,000,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_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares', window );">Purchase of common stock retired through repurchase program (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">240,548<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_StockRepurchasedAndRetiredDuringPeriodValue', window );">Purchase of common stock value retired through repurchase program</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,400,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_StatementClassOfStockAxis=us-gaap_CommonStockMember', window );">Common Stock | May 2022 Stock Repurchase Program</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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [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_StockRepurchaseProgramAuthorizedAmount1', window );">Stock repurchase program authorized amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 75,000,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_StockRepurchasedAndRetiredDuringPeriodShares', window );">Purchase of common stock retired through repurchase program (in shares)</a></td>
<td class="nump">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>
</tr>
<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 );">Amount remaining for future repurchases</a></td>
<td class="nump">$ 18,600,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>
</tr>
</table>
<div style="display: none;">
<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>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_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_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="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_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_StockRepurchasedAndRetiredDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and retired 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedAndRetiredDuringPeriodShares</td>
</tr>
<tr>
<td style="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_StockRepurchasedAndRetiredDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedAndRetiredDuringPeriodValue</td>
</tr>
<tr>
<td style="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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=form_October2020StockRepurchaseProgramMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareRepurchaseProgramAxis=form_October2020StockRepurchaseProgramMember</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_ShareRepurchaseProgramAxis=form_May2022StockRepurchaseProgramMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareRepurchaseProgramAxis=form_May2022StockRepurchaseProgramMember</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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691971184720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders&#8217; Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details) - Equity Incentive Plan - Restricted Stock Units<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Apr. 01, 2023 </div>
<div>$ / shares </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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Units</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Beginning balance (in shares) | shares</a></td>
<td class="nump">2,227,081<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Awards granted (in shares) | shares</a></td>
<td class="nump">79,020<span></span>
</td>
</tr>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Awards vested (in shares) | shares</a></td>
<td class="num">(30,751)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Awards canceled (in shares) | shares</a></td>
<td class="num">(82,523)<span></span>
</td>
</tr>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Ending balance (in shares) | shares</a></td>
<td class="nump">2,192,827<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Date Fair Value</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Beginning balance (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 35.28<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Awards granted (in dollars per share) | $ / shares</a></td>
<td class="nump">25.51<span></span>
</td>
</tr>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Awards vested (in dollars per share) | $ / shares</a></td>
<td class="nump">34.87<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Awards canceled (in dollars per share) | $ / shares</a></td>
<td class="nump">35.16<span></span>
</td>
</tr>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Ending balance (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 34.94<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity-based payment instruments, excluding stock (or unit) options, that were forfeited 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity-based payment instruments, excluding stock (or unit) options, that vested 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="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_PlanNameAxis=form_EquityIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_EquityIncentivePlanMember</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973520400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders&#8217; Equity and Stock-Based Compensation - ESPP Activity (Details) - Employee stock purchase plan<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Apr. 01, 2023 </div>
<div>$ / shares </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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [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_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Shares issued (in shares) | shares</a></td>
<td class="nump">210,055<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Weighted average per share purchase price (in dollars per share)</a></td>
<td class="nump">$ 23.92<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_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock', window );">Weighted average per share discount from the fair value of our common stock on the date of issuance (in dollars per share)</a></td>
<td class="num">$ (4.22)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Per Share Discount From Fair Value From Date Of Issuance, Common Stock</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;">form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>form_</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_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>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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 during the period as a result of an employee stock purchase plan.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<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> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="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_AwardTypeAxis=us-gaap_EmployeeStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EmployeeStockMember</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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691971096496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders&#8217; Equity and Stock-Based Compensation - Stock-Based Compensation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [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_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation</a></td>
<td class="nump">$ 9,290<span></span>
</td>
<td class="nump">$ 7,520<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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of revenues</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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [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_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation</a></td>
<td class="nump">1,910<span></span>
</td>
<td class="nump">1,078<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_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development</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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [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_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation</a></td>
<td class="nump">2,372<span></span>
</td>
<td class="nump">1,986<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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative</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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [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_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation</a></td>
<td class="nump">$ 5,008<span></span>
</td>
<td class="nump">$ 4,456<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</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_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</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>65
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691971094704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders&#8217; Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Apr. 01, 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Unrecognized Expense</a></td>
<td class="nump">$ 50,232<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Average Expected Recognition Period in Years</a></td>
<td class="text">1 year 11 months 4 days<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_RestrictedStockMember', window );">Restricted stock units</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Unrecognized Expense</a></td>
<td class="nump">$ 39,761<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Average Expected Recognition Period in Years</a></td>
<td class="text">1 year 11 months 23 days<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=form_PerformanceRestrictedStockUnitsMember', window );">Performance restricted stock units</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Unrecognized Expense</a></td>
<td class="nump">$ 9,486<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Average Expected Recognition Period in Years</a></td>
<td class="text">1 year 10 months 9 days<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_EmployeeStockMember', window );">Employee stock purchase plan</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Unrecognized Expense</a></td>
<td class="nump">$ 985<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Average Expected Recognition Period in Years</a></td>
<td class="text">3 months 29 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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 nonvested award under share-based payment arrangement. Excludes share and unit options.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="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_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>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_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_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockMember</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=form_PerformanceRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_PerformanceRestrictedStockUnitsMember</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_EmployeeStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EmployeeStockMember</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>66
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691974361264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Income per Share (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 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_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted-average shares used in computing basic net income per share (in shares)</a></td>
<td class="nump">77,066<span></span>
</td>
<td class="nump">78,246<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 );">Add potentially dilutive securities (in shares)</a></td>
<td class="nump">189<span></span>
</td>
<td class="nump">1,222<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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted-average shares used in computing diluted net income per share (in shares)</a></td>
<td class="nump">77,255<span></span>
</td>
<td class="nump">79,468<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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Securities not included as they would have been antidilutive (in shares)</a></td>
<td class="nump">1,121<span></span>
</td>
<td class="nump">0<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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="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_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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126962052&amp;loc=d3e4991-113900<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1707-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1500-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1757-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>67
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691969157584">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Narrative (Details)<br></strong></div></th>
<th class="th"><div>Apr. 01, 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_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [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_LesseeOperatingLeaseRenewalTerm', window );">Operating lease, renewal term</a></td>
<td class="text">20 years<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_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Operating lease, weighted average remaining lease term</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<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_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Operating lease, weighted average discount rate</a></td>
<td class="nump">3.92%<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_RangeAxis=srt_MinimumMember', window );">Minimum</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_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [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_LesseeOperatingLeaseTermOfContract', window );">Operating lease, term of contract</a></td>
<td class="text">1 year<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_RangeAxis=srt_MaximumMember', window );">Maximum</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_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [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_LesseeOperatingLeaseTermOfContract', window );">Operating lease, term of contract</a></td>
<td class="text">6 years<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_AutomobilesMember', window );">Automobiles</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_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [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_LesseeOperatingLeaseTermOfContract', window );">Operating lease, term of contract</a></td>
<td class="text">1 year<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_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="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_LesseeOperatingLeaseRenewalTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease renewal, 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseRenewalTerm</td>
</tr>
<tr>
<td style="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_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="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_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 discount rate for operating lease calculated at point in time.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="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>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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_AutomobilesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AutomobilesMember</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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691974361264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Components of Lease Expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 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_LeasesAbstract', window );"><strong>Leases [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_OperatingLeaseExpense', window );">Operating lease expense</a></td>
<td class="nump">$ 1,952<span></span>
</td>
<td class="nump">$ 2,221<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_ShortTermLeaseCost', window );">Short-term lease expense</a></td>
<td class="nump">157<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_VariableLeaseCost', window );">Variable lease expense</a></td>
<td class="nump">746<span></span>
</td>
<td class="nump">458<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_LeaseCost', window );">Total lease expense</a></td>
<td class="nump">$ 2,855<span></span>
</td>
<td class="nump">$ 2,719<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_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease cost recognized by lessee for lease contract.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="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_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating lease expense. Excludes sublease income.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918638-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="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_ShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 short-term lease cost, excluding expense for lease with term of one month or less.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermLeaseCost</td>
</tr>
<tr>
<td style="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_VariableLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableLeaseCost</td>
</tr>
<tr>
<td style="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>69
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691971148688">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Future Minimum Payments Under Leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Apr. 01, 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_LeasesAbstract', window );"><strong>Leases [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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">Remainder of 2023</a></td>
<td class="nump">$ 6,190<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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">8,106<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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="nump">8,018<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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2026</a></td>
<td class="nump">6,641<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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2027</a></td>
<td class="nump">5,756<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_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour', window );">Thereafter</a></td>
<td class="nump">3,431<span></span>
</td>
<td class="text">&#160;<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_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total minimum lease payments</a></td>
<td class="nump">38,142<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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: interest</a></td>
<td class="num">(4,223)<span></span>
</td>
<td class="text">&#160;<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_OperatingLeaseLiability', window );">Present value of net minimum lease payments</a></td>
<td class="nump">33,919<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_OperatingLeaseLiabilityCurrent', window );">Less: current portion</a></td>
<td class="num">(7,512)<span></span>
</td>
<td class="num">$ (7,353)<span></span>
</td>
</tr>
<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 );">Total long-term operating lease liabilities</a></td>
<td class="nump">$ 26,407<span></span>
</td>
<td class="nump">$ 27,587<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Liability, to be Paid, after Year Four</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;">form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>form_</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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeasesAbstract</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691969153760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Additional Information (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [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_RevenueRemainingPerformanceObligation', window );">Performance obligations</a></td>
<td class="nump">$ 9.8<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_ContractWithCustomerAssetNet', window );">Contract assets</a></td>
<td class="nump">2.9<span></span>
</td>
<td class="nump">$ 1.9<span></span>
</td>
</tr>
<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 with customer, liability</a></td>
<td class="nump">24.9<span></span>
</td>
<td class="nump">$ 30.9<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_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized included in contracts</a></td>
<td class="nump">$ 14.0<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-04-02', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-04-02</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [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_RevenueRemainingPerformanceObligationPercentage', window );">Revenue, remaining performance obligation, percentage</a></td>
<td class="nump">67.60%<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, remaining performance obligation, expected timing of satisfaction, period</a></td>
<td class="text">9 years<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-12-31', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-12-31</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [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_RevenueRemainingPerformanceObligationPercentage', window );">Revenue, remaining performance obligation, percentage</a></td>
<td class="nump">26.80%<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, remaining performance obligation, expected timing of satisfaction, period</a></td>
<td class="text">1 year<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-12-29', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-12-29</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [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_RevenueRemainingPerformanceObligationPercentage', window );">Revenue, remaining performance obligation, percentage</a></td>
<td class="nump">5.60%<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Revenue, remaining performance obligation, expected timing of satisfaction, period</a></td>
<td class="text"> <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_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130533-203044<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNet</td>
</tr>
<tr>
<td style="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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="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_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 transaction price allocated to performance obligation that has not been recognized as revenue.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems</td>
</tr>
<tr>
<td style="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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in which remaining performance obligation is expected to be recognized as revenue, 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</td>
</tr>
<tr>
<td style="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_RevenueRemainingPerformanceObligationPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 remaining performance obligation to total remaining performance obligation not recognized as revenue.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationPercentage</td>
</tr>
<tr>
<td style="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>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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-04-02">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-04-02</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-12-31">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2023-12-31</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-12-29">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-12-29</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>71
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691973522880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Segments and Enterprise-Wide Information - Additional Information (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Apr. 01, 2023 </div>
<div>segment</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>Segment Reporting [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_NumberOfReportableSegments', window );">Number of reportable segments</a></td>
<td class="nump">2<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_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 segments reported by the entity. A reportable segment is 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.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8672-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="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_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>72
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691965854384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 167,448<span></span>
</td>
<td class="nump">$ 197,174<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">$ 61,078<span></span>
</td>
<td class="nump">$ 94,224<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_form_GrossMarginPercent', window );">Gross margin</a></td>
<td class="nump">36.50%<span></span>
</td>
<td class="nump">47.80%<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=form_ProbeCardsSegmentMember', window );">Probe Cards</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 127,328<span></span>
</td>
<td class="nump">$ 159,983<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=form_SystemsSegmentMember', window );">Systems</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">40,120<span></span>
</td>
<td class="nump">37,191<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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | Probe Cards</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">127,328<span></span>
</td>
<td class="nump">159,983<span></span>
</td>
</tr>
<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_GrossProfit', window );">Gross profit</a></td>
<td class="nump">$ 43,623<span></span>
</td>
<td class="nump">$ 77,202<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_form_GrossMarginPercent', window );">Gross margin</a></td>
<td class="nump">34.30%<span></span>
</td>
<td class="nump">48.30%<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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | Systems</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 40,120<span></span>
</td>
<td class="nump">$ 37,191<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">$ 20,746<span></span>
</td>
<td class="nump">$ 19,407<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_form_GrossMarginPercent', window );">Gross margin</a></td>
<td class="nump">51.70%<span></span>
</td>
<td class="nump">52.20%<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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | Corporate and Other</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_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<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_GrossProfit', window );">Gross profit</a></td>
<td class="num">$ (3,291)<span></span>
</td>
<td class="num">$ (2,385)<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_form_GrossMarginPercent', window );">Gross margin</a></td>
<td class="text"> <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_form_GrossMarginPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Margin, Percent</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;">form_GrossMarginPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>form_</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_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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="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_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="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_StatementBusinessSegmentsAxis=form_ProbeCardsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_ProbeCardsSegmentMember</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=form_SystemsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_SystemsSegmentMember</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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</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_CorporateAndOtherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CorporateAndOtherMember</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>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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140691963252256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Mar. 26, 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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 167,448<span></span>
</td>
<td class="nump">$ 197,174<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=form_ProbeCardsSegmentMember', window );">Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">127,328<span></span>
</td>
<td class="nump">159,983<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=form_SystemsSegmentMember', window );">Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">40,120<span></span>
</td>
<td class="nump">37,191<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_TW', window );">Taiwan</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">40,329<span></span>
</td>
<td class="nump">53,069<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_TW', window );">Taiwan | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">38,897<span></span>
</td>
<td class="nump">42,522<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_TW', window );">Taiwan | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">1,432<span></span>
</td>
<td class="nump">10,547<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</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">37,731<span></span>
</td>
<td class="nump">25,647<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 | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">24,641<span></span>
</td>
<td class="nump">19,976<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 | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">13,090<span></span>
</td>
<td class="nump">5,671<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_CN', window );">China</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">27,099<span></span>
</td>
<td class="nump">38,399<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_CN', window );">China | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">18,476<span></span>
</td>
<td class="nump">32,791<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_CN', window );">China | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">8,623<span></span>
</td>
<td class="nump">5,608<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_KR', window );">South Korea</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">20,775<span></span>
</td>
<td class="nump">27,501<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_KR', window );">South Korea | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">19,572<span></span>
</td>
<td class="nump">24,881<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_KR', window );">South Korea | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">1,203<span></span>
</td>
<td class="nump">2,620<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_MY', window );">Malaysia</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">11,270<span></span>
</td>
<td class="nump">22,199<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_MY', window );">Malaysia | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">10,324<span></span>
</td>
<td class="nump">21,517<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_MY', window );">Malaysia | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">946<span></span>
</td>
<td class="nump">682<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_JP', window );">Japan</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">10,977<span></span>
</td>
<td class="nump">9,382<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_JP', window );">Japan | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">7,136<span></span>
</td>
<td class="nump">4,785<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_JP', window );">Japan | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">3,841<span></span>
</td>
<td class="nump">4,597<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=srt_EuropeMember', window );">Europe</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">9,426<span></span>
</td>
<td class="nump">8,395<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=srt_EuropeMember', window );">Europe | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">3,426<span></span>
</td>
<td class="nump">2,382<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=srt_EuropeMember', window );">Europe | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">6,000<span></span>
</td>
<td class="nump">6,013<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_SG', window );">Singapore</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">5,340<span></span>
</td>
<td class="nump">10,896<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_SG', window );">Singapore | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">3,200<span></span>
</td>
<td class="nump">10,284<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_SG', window );">Singapore | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">2,140<span></span>
</td>
<td class="nump">612<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=form_RestOfTheWorldMember', window );">Rest of the world</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">4,501<span></span>
</td>
<td class="nump">1,686<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=form_RestOfTheWorldMember', window );">Rest of the world | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">1,656<span></span>
</td>
<td class="nump">845<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=form_RestOfTheWorldMember', window );">Rest of the world | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">2,845<span></span>
</td>
<td class="nump">841<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Products transferred at a point in time</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">163,388<span></span>
</td>
<td class="nump">194,252<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Products transferred at a point in time | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">126,678<span></span>
</td>
<td class="nump">158,836<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Products transferred at a point in time | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">36,710<span></span>
</td>
<td class="nump">35,416<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Products and services transferred over time</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">4,060<span></span>
</td>
<td class="nump">2,922<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Products and services transferred over time | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">650<span></span>
</td>
<td class="nump">1,147<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Products and services transferred over time | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">3,410<span></span>
</td>
<td class="nump">1,775<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=form_FoundryLogicProductGroupMember', window );">Foundry &amp; Logic</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">101,562<span></span>
</td>
<td class="nump">114,121<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=form_FoundryLogicProductGroupMember', window );">Foundry &amp; Logic | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">101,562<span></span>
</td>
<td class="nump">114,121<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=form_FoundryLogicProductGroupMember', window );">Foundry &amp; Logic | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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=form_DRAMProductGroupMember', window );">DRAM</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">19,890<span></span>
</td>
<td class="nump">34,437<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=form_DRAMProductGroupMember', window );">DRAM | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">19,890<span></span>
</td>
<td class="nump">34,437<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=form_DRAMProductGroupMember', window );">DRAM | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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=form_FlashProductGroupMember', window );">Flash</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">5,876<span></span>
</td>
<td class="nump">11,425<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=form_FlashProductGroupMember', window );">Flash | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">5,876<span></span>
</td>
<td class="nump">11,425<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=form_FlashProductGroupMember', window );">Flash | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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=form_SystemsProductGroupMember', window );">Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">40,120<span></span>
</td>
<td class="nump">37,191<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=form_SystemsProductGroupMember', window );">Systems | Probe Cards</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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=form_SystemsProductGroupMember', window );">Systems | Systems</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenues</a></td>
<td class="nump">$ 40,120<span></span>
</td>
<td class="nump">$ 37,191<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_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="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_StatementBusinessSegmentsAxis=form_ProbeCardsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_ProbeCardsSegmentMember</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=form_SystemsSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_SystemsSegmentMember</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_TW">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TW</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CN</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_KR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_KR</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_MY">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MY</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_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_JP</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=srt_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=srt_EuropeMember</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_SG">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SG</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=form_RestOfTheWorldMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_RestOfTheWorldMember</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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember</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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember</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=form_FoundryLogicProductGroupMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_FoundryLogicProductGroupMember</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=form_DRAMProductGroupMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_DRAMProductGroupMember</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=form_FlashProductGroupMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_FlashProductGroupMember</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=form_SystemsProductGroupMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=form_SystemsProductGroupMember</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>74
<FILENAME>form-20230401_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:currency="http://xbrl.sec.gov/currency/2022"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:form="http://www.formfactor.com/20230401"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  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="form-20230401.xsd" xlink:type="simple"/>
    <context id="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i0c5ca847bc4942f8847068953febbcb3_I20230503">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
        </entity>
        <period>
            <instant>2023-05-03</instant>
        </period>
    </context>
    <context id="ie391b3e511a247a8a50597da9a583817_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="iaf89c4969d754887acd078f58d431a4c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ibfdd3bbe15dc4d77b67345258a401fdf_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</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="if7457c88bf674d218da51ff12d357d99_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</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="ia0b25c5265654236857cbe2a2e7b32cd_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i4dc93f82cce84e6bba50261ab9d65a7d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</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="ibc5653127b5347bfad9df12716d95a7d_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i8696766348834258b591a0c0a503ad84_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="id0827caa636243f9a93e1409f22c88c6_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i99604a1bdfa24466bd9430eb427c76fc_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i5d482f4f15f4411893349c2dc299de5e_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="iaf9771bbecc24105af537b76141019f1_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ie33adad870a844feaf951f8bd6b48dcc_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i16ba549c1b074ed7aee72b0292267bbb_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i250b5fcf41be4f459b62251ab366c697_I20211225">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-25</instant>
        </period>
    </context>
    <context id="i48394b895093473c994a274663086da9_I20211225">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-25</instant>
        </period>
    </context>
    <context id="if13701fdb29345fca9f27c6a7176e3fb_I20211225">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-25</instant>
        </period>
    </context>
    <context id="ib07588f9b7764637b9e986e74b8bfddb_I20211225">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-25</instant>
        </period>
    </context>
    <context id="idc0595bacd8744b39dc151edbaf37cf1_I20211225">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
        </entity>
        <period>
            <instant>2021-12-25</instant>
        </period>
    </context>
    <context id="if800aa8923954a8db5f89d6baec0295f_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i9b31f17cc6c04e0583c6c0d54c6796c7_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i019e1bd941ac4ed19a49d49a659d7b15_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="idbb7975ed36949279e975cc1a3966a0e_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i3ff2c806e5f347c0ae00509de906fa18_I20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-26</instant>
        </period>
    </context>
    <context id="iaac882a5d3414c259c7fc8ecaccbf0a0_I20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-26</instant>
        </period>
    </context>
    <context id="i32e4c09f3f0e47188e92102334921a45_I20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-26</instant>
        </period>
    </context>
    <context id="ief2f47bde1ca4274a4b06dae3ef45982_I20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-26</instant>
        </period>
    </context>
    <context id="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
        </entity>
        <period>
            <instant>2022-03-26</instant>
        </period>
    </context>
    <context id="ided587203dc647f5ac8875e74a42a418_D20211226-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i00e80c9aa2ea4901855189b27c589d19_I20230131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="ie0957046a86843049088ea9ed3a1895b_D20230101-20230131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="i8f61c29d42d84a839dac357bdf551cbd_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:TwoMajorCustomersMember</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-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i2bd9c1713c3842a490bcbe89811f8192_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:TwoMajorCustomersMember</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-04-01</endDate>
        </period>
    </context>
    <context id="i9ce3e76bf9a74642b11ec3a276fe4c7c_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:IntelMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i3fc07b2edb714033ba67ccfe55d6557c_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:IntelMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i6212b6e5723c4b6f9f2ebff8a555dbdb_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:TaiwanSemiconductorManufacturingCoLTDMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i5a170ac9d3ef4129a40ad5018784d390_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:CustomersRepresenting10OrMoreOfTotalRevenuesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i83ca9c3c1a9e4b7d8082ce044500c605_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:CustomersRepresenting10OrMoreOfTotalRevenuesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ia638802d47c74b66b59ed61498fab5c2_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:MajorCustomer1Member</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-04-01</endDate>
        </period>
    </context>
    <context id="ib020faff8b7b483492b04e4fd5b4917f_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:MajorCustomer2Member</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-04-01</endDate>
        </period>
    </context>
    <context id="i27d2b169cc3745228e0efe2854e2a769_D20211226-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">form:MajorCustomer1Member</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>2021-12-26</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ibba6fed22a3948b88e804a339b227c77_I20211225">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-25</instant>
        </period>
    </context>
    <context id="i61235faefd0344219da355b547a3a31c_I20211225">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-25</instant>
        </period>
    </context>
    <context id="i4ee0090ed4914eb28cc6da729ef97536_D20211226-20220625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">form:WoburnMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-06-25</endDate>
        </period>
    </context>
    <context id="i86045bc3758f4f4484b5297c3bc8c0e7_D20211226-20220625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">form:WoburnMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-06-25</endDate>
        </period>
    </context>
    <context id="i4da93390065c4f1399eac3c1a493d7b7_D20211226-20220625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">form:WoburnMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-06-25</endDate>
        </period>
    </context>
    <context id="idbb674e34b5d47c6a47810c486105126_D20211226-20220625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-06-25</endDate>
        </period>
    </context>
    <context id="i08dcf133ad3e4264826391d8fddac314_D20211226-20220625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-06-25</endDate>
        </period>
    </context>
    <context id="i787d2864f74147c1a8565860ffdcc26c_D20211226-20220625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-06-25</endDate>
        </period>
    </context>
    <context id="i7b1436d4c3944dbfa2bc5432edeaf920_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i73cc1e79bbb7440da6ad5094c9875ff1_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i6c18bf3d5fc448e58ed4984c43215955_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i053bfe5a4e704c5b922d9931322549aa_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i1490b90e4b184f60afb9afb68d2263d3_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i1fe2d4d1b9fd4e6e9f2a29dfb56afb2e_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ifb1843046ac64a248f026149e342f005_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">form:ExistingDevelopedTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="iff374ecbf3964ab8b4a146c18ee29ba8_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">form:ExistingDevelopedTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i9e29c276f3ed4682beafdca282c93b22_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i3707ece5481a49ada21db88d0ec7429a_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ic57bd9b989644bbface3ee0cea59de3b_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i5b1b8c96fc6b45fd9d75e38af2441b09_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if07f490cee574b3ebf3fee7e00987307_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i6872f899bfb240559c2a9801190e591d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i78b0bbf163f04290aa5a52fa5469e112_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="if6dd5f1b0ef94564a4e3df06f5b2d467_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ifc9a948ca0a44616805210608e46d25f_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i0488de2642dd428e91439109c44b266c_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i0958eaad30e349a884297b4aa3f8860a_D20221025-20221025">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2022RestructuringPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-25</startDate>
            <endDate>2022-10-25</endDate>
        </period>
    </context>
    <context id="idf707cb5d0904c859a0841754f684d0e_D20221025-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2022RestructuringPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-25</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i4ae9c9dd293147e6b89a5a2d1f5dfbd4_D20221025-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:StockBasedCompensationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2022RestructuringPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-25</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="icfea74563a7d493187ff71b2baa6e2cb_D20221025-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2022RestructuringPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-25</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="id3ae4b8d72074a72a5160796d7ce9573_D20221025-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2022RestructuringPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-25</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i06fbc933985b4655a9aff52944bc5af9_D20221025-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2022RestructuringPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-25</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="iadc9493ef2b64363a6f9770b4ffdc77b_D20210925-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2021RestructuringPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-25</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i8e8e2a9a573b43e2a5c4893efdda0854_D20210925-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2021RestructuringPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-25</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i82356ea908b04353934bc18b6d2496fd_D20210925-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2021RestructuringPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-25</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i2f2445e6cc2a4500a556de88f35238c7_D20210925-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2021RestructuringPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-25</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="ie7c3398a457c44cda51be5ecc8994d54_D20210925-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:ContractTerminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2021RestructuringPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-25</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="id47356aa381a4938b76f1128ee97b6fa_D20210925-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:InventoryImpairmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2021RestructuringPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-25</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="iaf3b01558b2049ed937c42f62a0627f6_D20210925-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:OtherRestructuringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">form:A2021RestructuringPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-25</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="if1b7db1c7bec499cae220a7549bfd324_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i95896d91f6c44056853b89c521a8c75d_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i49eafed3fbe541a19d657a7fb5fa4133_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i6282743fb1d849a5bf3e665300455e70_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ic9b224454d814ffdb129c67210d8fbf0_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i8d7c7158b86349b0b673e386ab23f4d1_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="ib5fb47f1ee4a4d55acbda6cc986d0e2f_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i3601140a1b5d48cbb74545450b7b49a1_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i6582efeb97c740f2ad2d4044af6c2ff9_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ic132082e7576428b9814f8d5ff660918_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i3b78b68007a54f6fbc15c14d492d2b2c_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i5cbc20d07e044df58c256b505f1b70ab_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i05bb199b856b4bfabf594e1eda7607b8_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i12895a6ccb9943618c0b4a6e94058610_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i54f2f2fa7e50416aa38c90bcc04d78f8_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ifa49921cb7384c388de263ba1beea208_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ib27b3962f9b24e249e27e49b51686691_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7ba599ea2b044831ac6696e62539a8fc_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:StockBasedCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7660898fbe044fa9a6043299774901f9_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:InventoryImpairmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i5741ed4afdeb4572a757cfa071739f4e_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i8ca442f49dd4434c98f14186852a6786_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:StockBasedCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i38cd5a7836bd4023867cd8ed3e14feed_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:InventoryImpairmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i624cb88d2a574ddda3171d47d7625d5d_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i787fdfa2b0ec4cb294eb6a87e1cf9bc6_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:StockBasedCompensationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i10a3eef303f349e3ac798f4d3a8a7c71_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">form:InventoryImpairmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ife40b8f8d84c40d9a9439e2507afbc7f_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="iab7600f13b314f11a788b6676167b53c_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i1080e798dfe8400eb94109b03ea7fc42_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i4f31725f0be04f03a175254c002b7d23_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ie3413906e19642a5858c5191b2b63908_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ia981d433bb9f4092a5ca4f8406dd9a71_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ifba4d8a09a2d47bab2f39ccc161c350b_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ib6befc7f521648b99a1d82bb45b1ebe7_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ifb0565ca70f14d0e8b8c8a3d7718daab_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ib0eef226bd654c78bf439fbe7ca07d63_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i0dd333b3406a4c45816beefd9e569642_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="if3454759c82b44788f2719d6665d2872_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ida308296e39b41f4a0a9face207fffd7_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i40052b5383e04037bde48706a08e94e0_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ic09f446075e24fcfa16080d0ef2882ae_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i176cf6f878f04ac18bd260217fc27a90_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i508295e68ab545a0874a470a4d0f33f1_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ib6f7c6d4e44b49278a0e770aaa6e050e_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i480bb9bb91474eaf8a83473d05b7d720_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="iea31b6e9335d402f9de79f1a8c1a125a_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i41da4f1302744839b874b0fdc51c6043_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i8ff3a246c4c7407e9c0da35fb1c6c7fc_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i7f394b5e9cb443c682915536205dc94f_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i07766960d02642bf99185ace9e2b35de_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i5bf79e8f81f14e56aef89484bfb7c321_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ia6b87f2c9cb9421ab60ad6878bc0bc59_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ib94b7836bd464128b4bcc435a161dcf6_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i7ddc0fd0c9004b4ebc0e2bb242e85493_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i0a8c48baa5d24637a43822b5d6759470_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i3238691572e145dda167fbeaa4eb48ae_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i5ae1e25c98c1453196222ca7265ce94a_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i39761d51019d46a4b6d2b509efd1f0bf_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ib3ef644f58084bcc8f58a2172b4b6cc4_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i7ff98d9067104644b1253c089ca7654a_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i2c1ff0745dff4b80b4f3440028231035_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ibb27b9672dbb4ae3b3a5829a44f51a3b_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="icecde2b3e4c742d7a04fdbcb684b034e_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="idb9665c0fece478cb7334108983b6aed_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="iaf8dae5fd10744d4a895de0ddfea3300_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ie181d3dc8223465ab7d1999c61457d95_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i4d3acfd9682f47f7943fce76e6964b5f_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i366643d3681d4dd6a3eec21ccbbd16d6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="iaba339810fc34fddb07a062f553101c6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i3ccdae7bf0db4ed4a821fb9c8a7f3f4c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i5cd1c8b73232406080f35aa64aeb11de_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i14ca5a1381b0410b83c743d6086e7dc8_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia48acc1c15424756a4ded0aaf6ca95c0_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ied84933b5c6e4b6db8c9100b55a05c32_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="iae766829b1a042c0b996e56d78695045_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ib3cef90ac2e4401eba541a22161e2170_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="id98e2212c5af4575b3b51a696e7c628a_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i9c2a8c2f3d4d4fb58c33ce5be929408c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i8e2a621b154243888daa2aa002f53ca9_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ic26b161159f242d68023e5087a505d6b_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i0c8ad60d3f1a4126bb3d1971e8a6d90a_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="id364050ee17f49b9ab9d5e5df5b3a1a1_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i0af4b18e6a314030bd2ca1d48cd4a5f1_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i074633dbcb4742fba89bc02c9f5d868f_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i1df6d46d3af34559bffc71ca077ef343_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ie48b4fbf076643b1bffda4cd03851427_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i49c681e1710d488799400cf8fe610e36_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="id8871384e6e84259b0ccef13d2423c7d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i74522995661c46ff8534b601fb3ca67e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i8a53d69f0106407da1c4c8d8b7c032b6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i1caf8c6376864d9fa26030540e34755e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="icbf177a663154204b8b7fd7fcff89aac_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i1861d1af33324770945d675a397b4d5d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ic275005a170445b0b100f03e761a9e87_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="id1ed78559ae54af791f0f502b636386e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i6203915b3f6c4dceb9a11f4b38b4a544_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ifab97facca954d5287c6db708062786f_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i671fc26c178541d998dfa44323f9450c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7aeb4213ea1e471b81e73bcab5acccaa_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="iebc8fe86f92c40cbb59a7f78ca22943e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if1567c4519a94a5fb463ef22dde89ee4_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i37788baf19a04af2b8e68a8ef4dcc6a6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="idafc892a85b141e2a02677c5f25f7ea7_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i59d28ec1885a488d9fc20208342a931f_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:NotesReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i3e2f60e324254677bec77af1e2eb3174_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ida3b54d2449c43ebbc2b85af835992fe_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i3f295ade2375424eab902435ed376056_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ie5332f8b331f4fefa4517c233a78dad9_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i6d38e8f69b6149ba93fca93c6b09a6a1_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:EUR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PositionAxis">us-gaap:LongMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i2fbc4cfcc181400e91016116c4bde454_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:EUR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PositionAxis">us-gaap:ShortMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i49a018e6a4c343a3ab446e5a98f94612_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:JPY</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PositionAxis">us-gaap:ShortMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i2e4a579897f84901adb30aeb819f62d7_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:KRW</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PositionAxis">us-gaap:LongMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i2ba6960e0edc430c8f33dbe0efc00da0_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:TWD</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PositionAxis">us-gaap:ShortMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="id3ac28a910af449aaf7b0e5e090098ec_I20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsNonrecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-26</instant>
        </period>
    </context>
    <context id="i59e69ceb0cbf4e8081b2d6f4a653eb0c_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsNonrecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i122f71a531a74c46a864fcb01284946a_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ie7f330b0337644829fd4d2e82b4e4d7e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7f530dc5b1a047ecaf421b114a9323a9_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i8ebaa8f40e7f42d2b371e8962a3b2e69_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</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="i24324c00724c40828bf5f5796827d533_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i52276040d73e4304b55892f6a81375fe_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ice55480cac0c4ae7b4b2c86241fc7cb6_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i37402380ef974000b8550d7d8eab119c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i202ada5ccffc4d82a1ea1ee8dd341a96_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i9da1affa9e5548d69cf0481b7b379a93_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i4c735d093af34507bda41e58775c7890_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i495dbf122da84560a0d4d4a0f015c566_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i646de1cf07874f1ab881cc71b4ca6e7d_I20201026">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">form:October2020StockRepurchaseProgramMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-26</instant>
        </period>
    </context>
    <context id="i5118bbc761e6489baea324354ed450ca_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">form:October2020StockRepurchaseProgramMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i925f8dacc0a04f4687d9b44fbf42ba92_I20220520">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">form:May2022StockRepurchaseProgramMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-20</instant>
        </period>
    </context>
    <context id="if5c8b70c14064d7994936b0d60e7d783_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">form:May2022StockRepurchaseProgramMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i053f8d96437a49d38ba58041a9af7cab_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">form:May2022StockRepurchaseProgramMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i0a8f8e03f06649dfa412b9a69e5145c8_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">form:EquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ie184a8a9cf614c99831bbbc704fcff86_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">form:EquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i365caee2eb3f4ee4a1c11ea299db3b0b_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">form:EquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i4e183f1cc7304786a98e8841b1ec31aa_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="id4e84f7451d04e39abdf0b0d3a71f574_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ie94cc76b63e448eb9ca592a368742788_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ifb29402121114da68b9249062f7860fa_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i8fe1555043044adfbd76cbf04c322f21_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">form:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i8b545e53fd134f64a9c0939aada3a34e_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">form:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i5808ac56e8724d9483b50db7563a40f6_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i86e206e6282d48df8160241056830aba_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i0fac63ac36a244b28d9b24d06a2de166_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i395d9aa550624ec2bb1059db6b563618_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-04-02</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="ice9a0c10ada145f28c2b1602c40f3b47_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2023-12-31</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i1af4ba8a470444dd8b60d0cd67b6cde0_I20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-12-29</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-01</instant>
        </period>
    </context>
    <context id="i6799f4892e69498f84fdcbb37f078a02_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="idafa2106a1e248679a8dd6bbc5ffe836_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="ia6cd83b723cb4befa61de97eeab914e8_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateAndOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="ic9216ee9ab2a440bb01d0fd72414117a_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i416c5312e797409088f4faf3df8164c2_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ib78660443e5342919fd39eefb59b54ab_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:CorporateAndOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ie3f57f4658024943a997aa8668aa48d1_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FoundryLogicProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="icb207516222642b0b03061d743015c19_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FoundryLogicProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i57ab77dbccc3409bbb5e6e5e7b8f7894_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FoundryLogicProductGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i6861222872134435bf1efe71e802aae9_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FoundryLogicProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ie9468e14e1ff4c62b68559b78b297bd6_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FoundryLogicProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ib953e584b4bb4e11a980b5e8acda3136_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FoundryLogicProductGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i2aaa39893dcb4023846ebdb2ec8c933b_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:DRAMProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i266271e17afe4a57bcc2fab6e76d9461_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:DRAMProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i007b4e45424f471b9629da09a3605d1b_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:DRAMProductGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i52ea4778270f4b9bb78dda43ac72670b_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:DRAMProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i5cbbbaf5fc9d4371823b2348bf486ffe_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:DRAMProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i81af7d056faa4c07bf200003672f214f_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:DRAMProductGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i81131e87b9d745e3befe5db80fdf0f1c_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FlashProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i764f57f8fdf94f0588744fd2195380b5_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FlashProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i69508750369f4341845545a96895402a_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FlashProductGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i38d12d03b6f84fa3819af6398067eb30_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FlashProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i3b9c1393c8de480083cff99bbf25319e_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FlashProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i75a366b43b8b4586b8ab6f43e0b11dae_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:FlashProductGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ia68b5447e2994f8cb9e415a6ce3af946_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:SystemsProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i89af6a405c09446ba30a2a3314e38887_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:SystemsProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i744dd35966914451b5084e9dc0bb3214_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:SystemsProductGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i6f2cd2293e3742c799e6fb09b7662926_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:SystemsProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i40031554171a497798ea6f3e6b43626e_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:SystemsProductGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ic235b1adb6f24f2381252950cea3f0e9_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">form:SystemsProductGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i1488a50f1c794c9fbaa68a857ae26cac_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="ib502d25daae043e6afbff8cb7b362887_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="ic44dc2978e884bbd9466062ae11fedf1_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="iab0ee60fb57747799dd9400b3ff1f8c2_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i6fa94ae85bd7418c9a016f8ea73d9d1c_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i134bda744ed0424c96fadc32de7c50c4_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="id64205c2964f4c54a4290871570a94cf_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i20307a1b1ed94e5490c664c65f9c9904_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i75948687300041d090a82594e13f7ca5_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i79e0c0052c1f4135a501117dd15b3a7b_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i5a828079b7094f718c6e884b6d45e4ee_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ica5134de62dd4545ab3b260d7d27743d_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i81da785277964902a701690fae11865b_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i92392ed809004fb1a75c9e3c278d2456_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i1a676884d1a04c6e87b1f9cf3f175b7a_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="iad1c658a279c4745b0d1a886ed75f821_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i2c30f6660ee44b12b0e077bb86b8f4d2_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ib1fface799f3462bb2b0e61e3e8d8f10_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i2c758b12153c434b8eaa9f607f1db25d_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i5337f25c366d4835bd8a43e610921210_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i4b8bb859a76b48a080301b951b76bd90_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i6525bf52fdfa47f5adabab22a2873881_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i9be73b1d22a94f2ea1eda2c91c596f67_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i8a948107ecc145e2baff6c24d179554f_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="iad28ecdf279b4e43961aca06c6d21859_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i1d687f6558974f55b7f66e57dbccc17e_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i83bb271dfcce47cba292196b76a2dade_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="ibee3e0ac0ee5429cb1d971f77908e3bd_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i8053af22f7dd41f7a23ba95b992f6fe7_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i6ec50656699f488b9b52f67d7fdb2b79_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i7f865995caab464db4739dc18c62189c_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i6507a08f7c5840dfa9054cb519745d2d_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i5d05b88744404d029a61c604fc8db06c_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="ib3752d819d1048c89f6920d7d9e32c1d_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i1409dd5e93e64711b040238882879a40_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i68c0c7f21acb455bb1594c12a2dbfa3b_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i7f172e3509464e918c0a87ba4283e5bd_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MY</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="ia6a21b1c92834d2b82cb2a8a7c59e713_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MY</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="ic06e4101362e4e9695c9e997df7b0f81_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MY</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i407ac2ed3ed14d8f8217b2302f71d2ca_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MY</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i0889f288138e4be986fd4526fcd765db_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MY</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i7e91e67abc894725bbfc242d7a721b8e_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MY</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="id6c666fc64c440759f9618aace5820d7_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i5ef2131c3ede459b800af8e0eda58b4a_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i4f4bc73792f546eeb6d5406f68d67f24_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i9d6453bfae0a4a0085a505143d64d584_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ia5d8ed6eb7aa46b99e1616b9ee248752_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ib126b5d6b87246a897198cbe4d795a2c_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i654bd1564de945ff812e812c9bc9576f_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i461d5fe8aac047cf8fcaf7fc448c9696_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i513e4403d35d43e48725caa76a757877_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="if2c3fc7e45274488a2a6ef76e75684fe_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i10e203ee90654dcab429dce0536e133c_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="id67db979c6a94444ade9b8a4ab9f725e_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ibc0b0428e0f843888e6d7665dd1f032f_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SG</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="id503bb2fc33e425bbc56cef72c72cc19_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SG</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i1ebb525b6c614078a9e5ff7912b3f2ec_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SG</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="iba5fd4c6177147d59298e1a8ab5c6e10_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SG</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i811f44c68eaa4500bef0308f02af1310_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SG</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ic8d63af8ddfa4cf9b0087cfdc204cece_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:SG</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="ic13816905676417c8d63b98c2b9454da_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">form:RestOfTheWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="i7fb128364d9d457dac8137e8dca2a37a_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">form:RestOfTheWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="ib564e85ade4748579fc7ab660398f569_D20230101-20230401">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">form:RestOfTheWorldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="ic0f60a5036944fdd9696a6b335a55c78_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">form:RestOfTheWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:ProbeCardsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i77eea6a948d743a5aebb380f281512c4_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">form:RestOfTheWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">form:SystemsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <context id="i91ef3001d5af493fb558e3570ab9fac6_D20211226-20220326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001039399</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">form:RestOfTheWorldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-26</startDate>
            <endDate>2022-03-26</endDate>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="eur">
        <measure>iso4217:EUR</measure>
    </unit>
    <unit id="jpy">
        <measure>iso4217:JPY</measure>
    </unit>
    <unit id="krw">
        <measure>iso4217:KRW</measure>
    </unit>
    <unit id="twd">
        <measure>iso4217:TWD</measure>
    </unit>
    <unit id="segment">
        <measure>form:segment</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80L2ZyYWc6Y2QyODQyYzRiOGY2NDM1NmJiYWU3MjA2OGQyMTU0YTEvdGFibGU6MjJhNTk3NmU4NDc0NGQ3Zjg5MzNjN2QxMDgwNzQyYjQvdGFibGVyYW5nZToyMmE1OTc2ZTg0NzQ0ZDdmODkzM2M3ZDEwODA3NDJiNF8zLTEtMS0xLTExMjg4OQ_71b3fabf-75d2-42e1-ba9a-ec27138317c3">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80L2ZyYWc6Y2QyODQyYzRiOGY2NDM1NmJiYWU3MjA2OGQyMTU0YTEvdGFibGU6MjJhNTk3NmU4NDc0NGQ3Zjg5MzNjN2QxMDgwNzQyYjQvdGFibGVyYW5nZToyMmE1OTc2ZTg0NzQ0ZDdmODkzM2M3ZDEwODA3NDJiNF80LTEtMS0xLTExMjg4OQ_d8ad3ca4-8f91-4aec-95b9-bb2fcf77c384">0001039399</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80L2ZyYWc6Y2QyODQyYzRiOGY2NDM1NmJiYWU3MjA2OGQyMTU0YTEvdGFibGU6MjJhNTk3NmU4NDc0NGQ3Zjg5MzNjN2QxMDgwNzQyYjQvdGFibGVyYW5nZToyMmE1OTc2ZTg0NzQ0ZDdmODkzM2M3ZDEwODA3NDJiNF81LTEtMS0xLTExMjg4OQ_e6da79c2-a412-41c8-92dd-d5e6b6320149">--12-30</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80L2ZyYWc6Y2QyODQyYzRiOGY2NDM1NmJiYWU3MjA2OGQyMTU0YTEvdGFibGU6MjJhNTk3NmU4NDc0NGQ3Zjg5MzNjN2QxMDgwNzQyYjQvdGFibGVyYW5nZToyMmE1OTc2ZTg0NzQ0ZDdmODkzM2M3ZDEwODA3NDJiNF82LTEtMS0xLTExMjg4OQ_a81a78be-3117-4ea9-98da-4c5a0d77b8e0">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80L2ZyYWc6Y2QyODQyYzRiOGY2NDM1NmJiYWU3MjA2OGQyMTU0YTEvdGFibGU6MjJhNTk3NmU4NDc0NGQ3Zjg5MzNjN2QxMDgwNzQyYjQvdGFibGVyYW5nZToyMmE1OTc2ZTg0NzQ0ZDdmODkzM2M3ZDEwODA3NDJiNF83LTEtMS0xLTExMjg4OQ_7b126ad9-2307-454c-b3d7-b4ac531a9747">Q1</dei:DocumentFiscalPeriodFocus>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i395d9aa550624ec2bb1059db6b563618_I20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83OS9mcmFnOjA2MWNlYmRkOTg0NjQ2MmZhYjI2NWQ0ZjQyMGY4MWU0L3RhYmxlOmEzOGFkMjFhN2RiODQ0ODhiMjBjOTA0MGZkN2Y4Y2JkL3RhYmxlcmFuZ2U6YTM4YWQyMWE3ZGI4NDQ4OGIyMGM5MDQwZmQ3ZjhjYmRfMS0xLTEtMS0xMTI4ODk_6f75ee67-53cb-4fb8-8fde-6d72b11eeb75">P9Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="ice9a0c10ada145f28c2b1602c40f3b47_I20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83OS9mcmFnOjA2MWNlYmRkOTg0NjQ2MmZhYjI2NWQ0ZjQyMGY4MWU0L3RhYmxlOmEzOGFkMjFhN2RiODQ0ODhiMjBjOTA0MGZkN2Y4Y2JkL3RhYmxlcmFuZ2U6YTM4YWQyMWE3ZGI4NDQ4OGIyMGM5MDQwZmQ3ZjhjYmRfMi0xLTEtMS0xMTI4ODk_c6ad5a27-eb6d-4854-ad19-18eca015fb7f">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i1af4ba8a470444dd8b60d0cd67b6cde0_I20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83OS9mcmFnOjA2MWNlYmRkOTg0NjQ2MmZhYjI2NWQ0ZjQyMGY4MWU0L3RhYmxlOmEzOGFkMjFhN2RiODQ0ODhiMjBjOTA0MGZkN2Y4Y2JkL3RhYmxlcmFuZ2U6YTM4YWQyMWE3ZGI4NDQ4OGIyMGM5MDQwZmQ3ZjhjYmRfMy0xLTEtMS0xMTI4ODk_26bbadde-e4c7-4799-8be4-5045c87baaae"
      xsi:nil="true"/>
    <dei:DocumentType
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF84NQ_90a65340-3973-4b80-a98f-b73b708f8284">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF8xMDM_c52b0474-86b0-40c3-a9c3-8a4c208d25ce">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF8yMjU_a267165e-1ed0-4b12-a525-58a5081cb0b7">2023-04-01</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF8yMzM_20ac8627-a3ff-451a-896c-c9f77535cc40">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF80MDg_88bba028-5dd4-4ba1-b009-8cebeef1ec90">000-50307</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF80MTQ_753cc75a-e9f3-48fd-9dea-ba87cec48fa8">FormFactor,&#160;Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6OTU4NWRjYWFmMmI4NGJmODk2OTUzYmUwYjY2YTUyMTMvdGFibGVyYW5nZTo5NTg1ZGNhYWYyYjg0YmY4OTY5NTNiZTBiNjZhNTIxM18wLTAtMS0xLTExMjg4OQ_d936e8fd-0b87-4ef8-b6ae-f4ed97088b0f">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6OTU4NWRjYWFmMmI4NGJmODk2OTUzYmUwYjY2YTUyMTMvdGFibGVyYW5nZTo5NTg1ZGNhYWYyYjg0YmY4OTY5NTNiZTBiNjZhNTIxM18wLTItMS0xLTExMjg4OQ_86108c5d-ca16-4d42-93a7-2a4fd2eeb4a1">13-3711155</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF80NzY_c9f02d58-7a48-41c8-a128-ff24bd4ea9db">7005 Southfront Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF80ODA_6a2181fc-059a-4b68-aff7-c371dab5e751">Livermore</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF80ODQ_2592e2fe-afb0-4c3c-a6fd-5084d55388e3">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF80ODc_dcff71ad-b292-4f05-80f8-c3c5e650aa40">94551</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF81NTU_d3945008-8bd7-46ec-86cd-34fbd0486db1">925</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF81NTk_edb2b762-a717-4aae-bca8-421ab0db1871">290-4000</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6ZmQyNWJlNmQ3ZmVkNDU2OWJlZTQ5M2M5YjUyYTI4ZTYvdGFibGVyYW5nZTpmZDI1YmU2ZDdmZWQ0NTY5YmVlNDkzYzliNTJhMjhlNl8xLTEtMS0xLTExMjg4OQ_af52e9bb-3bc2-4ae8-ae63-91eb11177fc8">Common stock, $0.001 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6ZmQyNWJlNmQ3ZmVkNDU2OWJlZTQ5M2M5YjUyYTI4ZTYvdGFibGVyYW5nZTpmZDI1YmU2ZDdmZWQ0NTY5YmVlNDkzYzliNTJhMjhlNl8xLTQtMS0xLTExMjg4OQ_ab9214b6-3c43-4fb8-8ce6-68494208bc95">FORM</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6ZmQyNWJlNmQ3ZmVkNDU2OWJlZTQ5M2M5YjUyYTI4ZTYvdGFibGVyYW5nZTpmZDI1YmU2ZDdmZWQ0NTY5YmVlNDkzYzliNTJhMjhlNl8xLTYtMS0xLTExMjg4OQ_8e8ec4fc-a503-4705-b15a-34755a4ae3a4">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF8xMDY1_494b6a12-6ef1-4e32-b98a-bf136b11e34a">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF8xMzg4_b666942b-f58c-4eff-89c3-4f98c9542e00">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6OTVjYzAzODBlN2M3NDdkMDlkN2ZlN2NhZDBmNGY5MzMvdGFibGVyYW5nZTo5NWNjMDM4MGU3Yzc0N2QwOWQ3ZmU3Y2FkMGY0ZjkzM18wLTAtMS0xLTExMjg4OQ_3a548dba-764c-4fd6-a1a0-344fd1ee3283">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6OTVjYzAzODBlN2M3NDdkMDlkN2ZlN2NhZDBmNGY5MzMvdGFibGVyYW5nZTo5NWNjMDM4MGU3Yzc0N2QwOWQ3ZmU3Y2FkMGY0ZjkzM18yLTEtMS0xLTExMjg4OQ_5a7e33ed-44e9-4bec-ba85-9df25c2a5b4b">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGFibGU6OTVjYzAzODBlN2M3NDdkMDlkN2ZlN2NhZDBmNGY5MzMvdGFibGVyYW5nZTo5NWNjMDM4MGU3Yzc0N2QwOWQ3ZmU3Y2FkMGY0ZjkzM18yLTMtMS0xLTExMjg4OQ_4f50f4a1-47a4-488a-8d11-3a2271ab17a7">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF8yMjQ1_0fed0708-a577-4541-a357-d77dde6617fd">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i0c5ca847bc4942f8847068953febbcb3_I20230503"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xL2ZyYWc6MDZlZGZhNjk0NmE4NGQ3NTlkOGNmM2M0Mzk2OWFkZmQvdGV4dHJlZ2lvbjowNmVkZmE2OTQ2YTg0ZDc1OWQ4Y2YzYzQzOTY5YWRmZF8yMTU5_917b8106-b3d4-4822-8e98-fd14de6e3627"
      unitRef="shares">77144094</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMy0xLTEtMS0xMTI4ODk_d63de1d9-bb27-43fe-a63f-61fc88c43572"
      unitRef="usd">112360000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMy0zLTEtMS0xMTI4ODk_bead78e2-cad9-41fe-ad34-509cf7a0407b"
      unitRef="usd">109130000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNC0xLTEtMS0xMTI4ODk_312db621-b5ca-462d-8fa7-635fefb905c8"
      unitRef="usd">123891000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNC0zLTEtMS0xMTI4ODk_de6af4f5-3444-4c59-837d-9ec110f14caa"
      unitRef="usd">129006000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNS0wLTEtMS0xMTI4ODkvdGV4dHJlZ2lvbjo4ZDA2YWYyZTE3Y2I0MTI5OGNjZWNhYTJmZDBlNzUzMl82Mw_5acbb12c-1883-47d2-a67d-87adb5d878e9"
      unitRef="usd">169000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNS0wLTEtMS0xMTI4ODkvdGV4dHJlZ2lvbjo4ZDA2YWYyZTE3Y2I0MTI5OGNjZWNhYTJmZDBlNzUzMl83MA_ed436707-4909-4ec7-ba70-e8b21550547f"
      unitRef="usd">168000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNS0xLTEtMS0xMTI4ODk_dddf31db-417e-4286-9a91-81d00549f873"
      unitRef="usd">103969000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNS0zLTEtMS0xMTI4ODk_0a4e6412-5734-419c-8895-b888d5579ecf"
      unitRef="usd">88143000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNi0xLTEtMS0xMTI4ODk_b64b951c-7999-4a8d-a017-e7ca70f3da79"
      unitRef="usd">116553000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNi0zLTEtMS0xMTI4ODk_e2e5ff98-d07a-43bb-bc11-2fcf10d10d4f"
      unitRef="usd">123157000</us-gaap:InventoryNet>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNy0xLTEtMS0xMTI4ODk_aa8428e8-6a79-4e68-a032-c81c210e0a3e"
      unitRef="usd">1207000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNy0zLTEtMS0xMTI4ODk_9611b292-5ab1-4bc3-a88c-50d013cdcc84"
      unitRef="usd">1221000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfOC0xLTEtMS0xMTI4ODk_6fc63ce8-6d41-49db-b3f5-8d04641c3cbb"
      unitRef="usd">22941000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfOC0zLTEtMS0xMTI4ODk_ba36ec17-02fb-4cac-9009-a0114627c532"
      unitRef="usd">23895000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfOS0xLTEtMS0xMTI4ODk_43774302-bea2-494c-8720-3238a45cfa5c"
      unitRef="usd">480921000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfOS0zLTEtMS0xMTI4ODk_e1a97be6-c8e8-458d-93ce-c4abe8cfd6ad"
      unitRef="usd">474552000</us-gaap:AssetsCurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTAtMS0xLTEtMTEyODg5_f59bb992-86af-4e78-9985-6a77c7cca533"
      unitRef="usd">2287000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTAtMy0xLTEtMTEyODg5_01a7ad98-1835-44d4-a09f-30121cb100ec"
      unitRef="usd">2631000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTEtMS0xLTEtMTEyODg5_bd20bd84-5ac9-4a20-a029-8b9915b46a9b"
      unitRef="usd">30420000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTEtMy0xLTEtMTEyODg5_4e71b8a6-df8b-48d9-9fe9-47c6c368afe9"
      unitRef="usd">31362000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTItMS0xLTEtMTEyODg5_c14bca38-8156-4ef4-8c2a-59892ee9639b"
      unitRef="usd">198232000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTItMy0xLTEtMTEyODg5_c194e843-ddb7-4d5d-932f-3466622c5998"
      unitRef="usd">189848000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTMtMS0xLTEtMTEyODg5_1873354e-02c0-4866-994a-97f181c71f52"
      unitRef="usd">211773000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTMtMy0xLTEtMTEyODg5_aa92e3a1-a72c-4c58-9a8a-d0e35bf2bc58"
      unitRef="usd">211444000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTQtMS0xLTEtMTEyODg5_e0145778-bbb2-4d88-8fd6-dbcccecc8d12"
      unitRef="usd">24486000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTQtMy0xLTEtMTEyODg5_efe3dab4-03e2-4cd6-9c62-089899644604"
      unitRef="usd">26751000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTUtMS0xLTEtMTEyODg5_d1519a54-43bc-4389-a20e-71a13b8bc8c8"
      unitRef="usd">67951000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTUtMy0xLTEtMTEyODg5_f666b5eb-5486-4e55-bd66-4dd51e90da7e"
      unitRef="usd">67646000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTYtMS0xLTEtMTEyODg5_148f8f48-6181-4643-bf69-b25f129d6578"
      unitRef="usd">3686000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTYtMy0xLTEtMTEyODg5_b42f1650-81ac-4f59-96f2-c9ef12bbc80d"
      unitRef="usd">3994000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTctMS0xLTEtMTEyODg5_bda9f9e5-98ba-4606-bbcc-62c90353a9af"
      unitRef="usd">1019756000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMTctMy0xLTEtMTEyODg5_f7075e51-9c00-4c0e-91c0-884906987c67"
      unitRef="usd">1008228000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjEtMS0xLTEtMTEyODg5_eda7d8de-0483-4a25-9327-fa78cc7fb15e"
      unitRef="usd">63756000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjEtMy0xLTEtMTEyODg5_db4bd2bd-b6d8-488d-9711-0cd8d28d5376"
      unitRef="usd">69308000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjItMS0xLTEtMTEyODg5_06e96781-0564-4a52-879f-e19abc9b08e3"
      unitRef="usd">31981000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjItMy0xLTEtMTEyODg5_22d9befc-f21a-4d3c-8f92-de8fd08c3ff5"
      unitRef="usd">42115000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjMtMS0xLTEtMTEyODg5_0002b12e-6949-4165-8f4b-cb52000e20e6"
      unitRef="usd">1142000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjMtMy0xLTEtMTEyODg5_bde2a548-642a-41a3-8bf9-bc6b300bb4fc"
      unitRef="usd">1045000</us-gaap:LongTermDebtCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjQtMS0xLTEtMTEyODg5_debf0933-5244-45ee-853c-06abc32057db"
      unitRef="usd">23779000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjQtMy0xLTEtMTEyODg5_958c4ce0-cccb-4240-a94d-ec7e03dd1342"
      unitRef="usd">29846000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjUtMS0xLTEtMTEyODg5_d4710ee9-9496-442b-b5bc-bc2b9004df37"
      unitRef="usd">7512000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjUtMy0xLTEtMTEyODg5_2b028e78-fd19-42b3-8d2f-f6dd7b855187"
      unitRef="usd">7353000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjYtMS0xLTEtMTEyODg5_1930cce8-f10b-4a35-b047-fd133faabbad"
      unitRef="usd">128170000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjYtMy0xLTEtMTEyODg5_2130427e-3413-4cdf-8716-f132979833d5"
      unitRef="usd">149667000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjctMS0xLTEtMTEyODg5_7d64d85e-8853-4979-8d9e-80199d8840c9"
      unitRef="usd">14034000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjctMy0xLTEtMTEyODg5_3e523ec2-3a77-494a-888b-82c08bc2d5a0"
      unitRef="usd">14389000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjgtMS0xLTEtMTEyODg5_f686548a-5e08-4de5-a5fe-33db94b823bb"
      unitRef="usd">2905000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjgtMy0xLTEtMTEyODg5_a477fd25-57cd-4f6c-ae1c-f3acf73b0584"
      unitRef="usd">2732000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjktMS0xLTEtMTEyODg5_9e83067b-672e-4026-9af8-3084b81ef3ba"
      unitRef="usd">26407000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMjktMy0xLTEtMTEyODg5_e4b76458-7df3-41b4-b4c4-cb387876d2c5"
      unitRef="usd">27587000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <form:DeferredGovernmentGrantLiability
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzAtMS0xLTEtMTIwNjcw_5f3468f3-d151-4345-97bd-7bf190b11eb0"
      unitRef="usd">18000000</form:DeferredGovernmentGrantLiability>
    <form:DeferredGovernmentGrantLiability
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzAtMy0xLTEtMTIwNjcw_d3464540-0e27-45d4-95bf-ecfaae659fa8"
      unitRef="usd">0</form:DeferredGovernmentGrantLiability>
    <us-gaap:DeferredCreditsAndOtherLiabilitiesNoncurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzAtMS0xLTEtMTEyODg5_8150f898-29a1-493e-8ade-4706cbd266f3"
      unitRef="usd">5868000</us-gaap:DeferredCreditsAndOtherLiabilitiesNoncurrent>
    <us-gaap:DeferredCreditsAndOtherLiabilitiesNoncurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzAtMy0xLTEtMTEyODg5_a20be87c-db96-467c-aa6a-6e3f54f2f724"
      unitRef="usd">5568000</us-gaap:DeferredCreditsAndOtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzEtMS0xLTEtMTEyODg5_a56e21a5-5d1b-4119-ae09-2820f4f4b645"
      unitRef="usd">195384000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzEtMy0xLTEtMTEyODg5_1c0b02b5-c8c5-4ff4-8a87-84ea93c5f07e"
      unitRef="usd">199943000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzYtMC0xLTEtMTEyODg5L3RleHRyZWdpb246ZTcyZDhlOTE0ZGE2NDFmY2JmMzNiMjM1Y2QxMDhlYzFfMTg_377c573a-34a5-46c0-8872-75e74610d547"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzYtMC0xLTEtMTEyODg5L3RleHRyZWdpb246ZTcyZDhlOTE0ZGE2NDFmY2JmMzNiMjM1Y2QxMDhlYzFfMTg_c5873336-f30b-46e7-93bb-498dc5760e91"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMC0xLTEtMTEyODg5L3RleHRyZWdpb246M2E1ZTYxYzEzMTAyNDBiODk3ZDM5Y2U3ZWIzYmM2MmFfNA_7c87aa4c-8e9d-4bbb-bada-a3509cbbb050"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMC0xLTEtMTEyODg5L3RleHRyZWdpb246M2E1ZTYxYzEzMTAyNDBiODk3ZDM5Y2U3ZWIzYmM2MmFfNA_7e478ffd-7074-4562-858c-639f12700107"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMC0xLTEtMTEyODg5L3RleHRyZWdpb246M2E1ZTYxYzEzMTAyNDBiODk3ZDM5Y2U3ZWIzYmM2MmFfMjY_4db74792-d59b-4bf2-b4ab-d03151e87772"
      unitRef="shares">77142023</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMC0xLTEtMTEyODg5L3RleHRyZWdpb246M2E1ZTYxYzEzMTAyNDBiODk3ZDM5Y2U3ZWIzYmM2MmFfMjY_fe27130b-3735-4eda-b545-0d58bf99ad9f"
      unitRef="shares">77142023</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMC0xLTEtMTEyODg5L3RleHRyZWdpb246M2E1ZTYxYzEzMTAyNDBiODk3ZDM5Y2U3ZWIzYmM2MmFfMzM_efb4f306-8ce0-4fa7-8405-daa74691aa14"
      unitRef="shares">76914590</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMC0xLTEtMTEyODg5L3RleHRyZWdpb246M2E1ZTYxYzEzMTAyNDBiODk3ZDM5Y2U3ZWIzYmM2MmFfMzM_fdc41982-d7c9-48e6-974b-f834b457c887"
      unitRef="shares">76914590</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMS0xLTEtMTEyODg5_ad28d86e-a874-4958-8c31-2e3a62e3685c"
      unitRef="usd">77000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzctMy0xLTEtMTEyODg5_b72311c4-191e-477e-8c9c-418582af973f"
      unitRef="usd">77000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzktMS0xLTEtMTEyODg5_7e247c13-1967-4b8c-b4cd-ea495fe91022"
      unitRef="usd">858195000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfMzktMy0xLTEtMTEyODg5_876a25ac-f033-4017-adca-14940171a2e1"
      unitRef="usd">844842000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDAtMS0xLTEtMTEyODg5_bc68b8f1-086c-4d01-a834-f03294f69bcd"
      unitRef="usd">-4186000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDAtMy0xLTEtMTEyODg5_47a83f42-80e3-4bcf-b4a3-ee12a99b4ef1"
      unitRef="usd">-5578000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDEtMS0xLTEtMTEyODg5_8a7181ce-678f-4dc8-8075-e8208cf7f311"
      unitRef="usd">-29714000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDEtMy0xLTEtMTEyODg5_eee399d7-339c-48aa-948a-31276d08184c"
      unitRef="usd">-31056000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDItMS0xLTEtMTEyODg5_977dd6b6-ebdd-4423-b2e3-315564c67112"
      unitRef="usd">824372000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDItMy0xLTEtMTEyODg5_9ffc9d01-cf01-4470-8461-a9b2409bf559"
      unitRef="usd">808285000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDMtMS0xLTEtMTEyODg5_6f487644-8804-4a46-9b75-c029ccd6911e"
      unitRef="usd">1019756000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xNi9mcmFnOmQ4ZWRlNGVkNmFjZDQxOWI4ZDQwNjY5YmE2NDM1ZjYyL3RhYmxlOjc2NDkyOTEzZmY0YTQ4ZDI5YmJmYjE4OTg3ZmZhNDkzL3RhYmxlcmFuZ2U6NzY0OTI5MTNmZjRhNDhkMjliYmZiMTg5ODdmZmE0OTNfNDMtMy0xLTEtMTEyODg5_98c1e0a8-c4c2-4df4-8038-7d87de7f782a"
      unitRef="usd">1008228000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMi0xLTEtMS0xMTI4ODk_694465da-644e-4113-8094-0e2cacd41d55"
      unitRef="usd">167448000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMi0zLTEtMS0xMTI4ODk_d61df206-caef-4bf2-a3d9-6094512df591"
      unitRef="usd">197174000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMy0xLTEtMS0xMTI4ODk_68f90a1e-245e-4501-b7c5-2c4811c33aaa"
      unitRef="usd">106370000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMy0zLTEtMS0xMTI4ODk_d206c91b-b583-4dfb-bbbb-8525e599a217"
      unitRef="usd">102950000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfNC0xLTEtMS0xMTI4ODk_14493560-0887-47cc-8bda-423509f19bc6"
      unitRef="usd">61078000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfNC0zLTEtMS0xMTI4ODk_90b40269-6c98-4317-af8a-b38f97ed1fcf"
      unitRef="usd">94224000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfNi0xLTEtMS0xMTI4ODk_1185f286-b68c-454c-85c7-70c2cc02d2dc"
      unitRef="usd">28245000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfNi0zLTEtMS0xMTI4ODk_02d5184f-51c7-4e6b-9066-bc96929ae868"
      unitRef="usd">27134000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfNy0xLTEtMS0xMTI4ODk_9dbf8980-8a69-4814-9aed-58b4d326db8a"
      unitRef="usd">32742000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfNy0zLTEtMS0xMTI4ODk_9d6ed07f-bb0f-435f-a514-5eacd23d7112"
      unitRef="usd">32906000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfOC0xLTEtMS0xMTI4ODk_5a049756-bfeb-4065-baf8-647a43cd561f"
      unitRef="usd">60987000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfOC0zLTEtMS0xMTI4ODk_ec3b9989-298b-4df1-999f-2037e80f6109"
      unitRef="usd">60040000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfOS0xLTEtMS0xMTI4ODk_f7873ed2-daaa-4df6-ac26-caf54ed948c3"
      unitRef="usd">91000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfOS0zLTEtMS0xMTI4ODk_95c9d55a-78a6-4e41-8953-dc4bbbee6122"
      unitRef="usd">34184000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTAtMS0xLTEtMTI2NDcw_2f04698a-cabc-4f47-a2d8-b4c6211a9ffd"
      unitRef="usd">1276000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTAtMy0xLTEtMTI2NDcw_bbba24bd-1a31-4cb9-b9cc-37c61f2b2248"
      unitRef="usd">-54000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTItMS0xLTEtMTEyODg5_c1825850-bc8e-4fb1-abde-7c5d5386cad9"
      unitRef="usd">23000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTItMy0xLTEtMTEyODg5_aeb5a21d-1000-4b5a-851b-891205ecc9c7"
      unitRef="usd">192000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTMtMS0xLTEtMTEyODg5_d48ec0e9-0973-44f3-a4cb-dfdeb07dac21"
      unitRef="usd">1390000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTMtMy0xLTEtMTEyODg5_0c739ffd-3ed2-4e93-9f34-1c7cc481afbc"
      unitRef="usd">34322000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTQtMS0xLTEtMTEyODg5_40cea295-4285-49cf-b7b9-ae492d0c6420"
      unitRef="usd">48000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTQtMy0xLTEtMTEyODg5_249fbe8a-c129-4b14-a920-a324b5428c42"
      unitRef="usd">4450000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTUtMS0xLTEtMTEyODg5_ae458c13-fcee-4a69-b67f-0d5f346e7e5f"
      unitRef="usd">1342000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTUtMy0xLTEtMTEyODg5_9d9919bc-f2ad-4d18-9b1a-b29b30d88c0b"
      unitRef="usd">29872000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTctMS0xLTEtMTEyODg5_f4993a3c-7fd5-4d97-ad2f-470f57744f7e"
      unitRef="usdPerShare">0.02</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTctMy0xLTEtMTEyODg5_8e70f002-9664-4408-9620-b4046ebdbff6"
      unitRef="usdPerShare">0.38</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTgtMS0xLTEtMTEyODg5_8827c590-e47b-406a-9f66-8441b8abf0e0"
      unitRef="usdPerShare">0.02</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMTgtMy0xLTEtMTEyODg5_ef470b90-5991-40ac-ab98-d804e173213c"
      unitRef="usdPerShare">0.38</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMjAtMS0xLTEtMTEyODg5_39d17b54-5eef-44f0-ac62-a19446b1fd58"
      unitRef="shares">77066000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMjAtMy0xLTEtMTEyODg5_effd5a19-5f84-47dd-9df4-e1dccb263ab9"
      unitRef="shares">78246000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMjEtMS0xLTEtMTEyODg5_967c362c-ec31-417e-903a-3febff18e130"
      unitRef="shares">77255000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8xOS9mcmFnOmMxYWI1OWFkMGQ4OTQyMGE5NTczMjBhZDM0NTVjMjIwL3RhYmxlOjU2MGE4NzZhYjYwYjQ3MTBhNjMzNmJkN2IzZDYzZTU1L3RhYmxlcmFuZ2U6NTYwYTg3NmFiNjBiNDcxMGE2MzM2YmQ3YjNkNjNlNTVfMjEtMy0xLTEtMTEyODg5_b26ee5da-41a2-45a2-891d-cd0555ab5b22"
      unitRef="shares">79468000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfMi0xLTEtMS0xMTI4ODk_ae458c13-fcee-4a69-b67f-0d5f346e7e5f"
      unitRef="usd">1342000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfMi0zLTEtMS0xMTI4ODk_9d9919bc-f2ad-4d18-9b1a-b29b30d88c0b"
      unitRef="usd">29872000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNC0xLTEtMS0xMTI4ODk_91b6fbb0-b1ab-40b2-a5ba-df4a9a66adc5"
      unitRef="usd">832000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNC0zLTEtMS0xMTI4ODk_7411b4c0-a8de-43ce-ab83-3031a0d79f28"
      unitRef="usd">-2698000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNS0xLTEtMS0xMTI4ODk_4db4a272-8453-413b-ad15-db2eca2f8fb0"
      unitRef="usd">603000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNS0zLTEtMS0xMTI4ODk_78f3a65c-0f08-4887-bd6c-d3505eeda0c0"
      unitRef="usd">-1204000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNi0xLTEtMS0xMTI4ODk_cb4287c1-354c-4e73-a3ba-9cf982347591"
      unitRef="usd">-43000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNi0zLTEtMS0xMTI4ODk_98677863-eefc-4c88-9579-9dc3ff4a2650"
      unitRef="usd">874000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNy0xLTEtMS0xMTI4ODk_b17e8718-6bed-4098-a5a2-9fda10eefc2a"
      unitRef="usd">1392000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfNy0zLTEtMS0xMTI4ODk_ce4488a2-4c5e-457a-8b60-59531a454153"
      unitRef="usd">-3028000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfOC0xLTEtMS0xMTI4ODk_2ddf35b6-59fe-46e8-bcbe-6d6ce07778af"
      unitRef="usd">2734000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yMi9mcmFnOmM4YjdhNTZkZjBlNDRjZTk5ZDEzNjc3ODM3MzAzNTU0L3RhYmxlOmFjOWM0MTRhZDY5ZTQ0YmVhZGFmN2Q1NjYwNzgwNTQzL3RhYmxlcmFuZ2U6YWM5YzQxNGFkNjllNDRiZWFkYWY3ZDU2NjA3ODA1NDNfOC0zLTEtMS0xMTI4ODk_361876b8-fda5-4140-8a82-eb2aba4d0747"
      unitRef="usd">26844000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ibfdd3bbe15dc4d77b67345258a401fdf_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMy0xLTEtMS0xMTI4ODk_cb1be586-ed2e-42a8-9e09-b62ebf40045d"
      unitRef="shares">76914590</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ibfdd3bbe15dc4d77b67345258a401fdf_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMy0zLTEtMS0xMTI4ODk_7f44fec3-a6ca-454d-bbe0-c5373d0ef686"
      unitRef="usd">77000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if7457c88bf674d218da51ff12d357d99_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMy05LTEtMS0xMTI4ODk_330bc95f-8fd9-42c7-a767-878091663cc3"
      unitRef="usd">844842000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia0b25c5265654236857cbe2a2e7b32cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMy0xMS0xLTEtMTEyODg5_27ebb36a-d2c9-4d37-aede-f553ad36cf5d"
      unitRef="usd">-5578000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4dc93f82cce84e6bba50261ab9d65a7d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMy0xMy0xLTEtMTEyODg5_d87fcc56-5021-4800-a965-78c298558cfa"
      unitRef="usd">-31056000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMy0xNS0xLTEtMTEyODg5_c383955e-4c3d-4435-886d-182349da1a30"
      unitRef="usd">808285000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="ibc5653127b5347bfad9df12716d95a7d_D20230101-20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfNC0xLTEtMS0xMTI4ODk_e5e48627-b979-4ad2-912c-aa2436609cc2"
      unitRef="shares">210055</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i8696766348834258b591a0c0a503ad84_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfNC05LTEtMS0xMTI4ODk_9aa82559-bb87-4240-92fd-191fb22cfa37"
      unitRef="usd">5024000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfNC0xNS0xLTEtMTEyODg5_66620c1e-5131-4546-999f-efe1aa90f3a9"
      unitRef="usd">5024000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="ibc5653127b5347bfad9df12716d95a7d_D20230101-20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfNi0xLTEtMS0xMTI4ODk_ccea321e-30fb-40ea-83dd-63fe33b3be45"
      unitRef="shares">17378</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="i8696766348834258b591a0c0a503ad84_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfNi05LTEtMS0xMTI4ODk_3605dd18-18e3-48c9-851e-de3bd1614f1b"
      unitRef="usd">-387000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfNi0xNS0xLTEtMTEyODg5_abc030ae-4f25-49ea-bbb6-a499fcee6008"
      unitRef="usd">-387000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i8696766348834258b591a0c0a503ad84_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfOC05LTEtMS0xMTI4ODk_db74e353-3d2f-454d-b958-7ba778a47960"
      unitRef="usd">8716000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfOC0xNS0xLTEtMTEyODg5_1c63bf3f-24aa-492c-bc70-3b41a17bddf8"
      unitRef="usd">8716000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="id0827caa636243f9a93e1409f22c88c6_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfOS0xMS0xLTEtMTEyODg5_a5f6783f-8b66-42b5-a055-4d94adb677be"
      unitRef="usd">1392000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfOS0xNS0xLTEtMTEyODg5_7f85f7a7-1dc2-4cbf-a5fc-c9c249915bf7"
      unitRef="usd">1392000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="i99604a1bdfa24466bd9430eb427c76fc_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTAtMTMtMS0xLTExMjg4OQ_f9898ef9-1f42-4396-9656-fbe695930fb6"
      unitRef="usd">1342000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTAtMTUtMS0xLTExMjg4OQ_c860badf-5181-44a0-9748-f95c8cfbbd4d"
      unitRef="usd">1342000</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i5d482f4f15f4411893349c2dc299de5e_I20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTEtMS0xLTEtMTEyODg5_3fb24ca3-ca2c-46d1-b911-543cb73589f3"
      unitRef="shares">77142023</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i5d482f4f15f4411893349c2dc299de5e_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTEtMy0xLTEtMTEyODg5_c40110d8-bab8-499d-885b-48b1afb215f3"
      unitRef="usd">77000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iaf9771bbecc24105af537b76141019f1_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTEtOS0xLTEtMTEyODg5_5aa7b78a-e373-40ec-b75f-784b008bff4d"
      unitRef="usd">858195000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie33adad870a844feaf951f8bd6b48dcc_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTEtMTEtMS0xLTExMjg4OQ_f926b145-1628-446e-85fc-e8b060682016"
      unitRef="usd">-4186000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i16ba549c1b074ed7aee72b0292267bbb_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTEtMTMtMS0xLTExMjg4OQ_99e9e8d1-40ad-4831-807e-54415c66c7f9"
      unitRef="usd">-29714000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmY0ZTNiYTJjMzRlODQ0NDNhZTVlYjFjY2U5OWY0NzAzL3RhYmxlcmFuZ2U6ZjRlM2JhMmMzNGU4NDQ0M2FlNWViMWNjZTk5ZjQ3MDNfMTEtMTUtMS0xLTExMjg4OQ_bdcca819-e643-4fc1-ad36-3b224599227d"
      unitRef="usd">824372000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i250b5fcf41be4f459b62251ab366c697_I20211225"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMy0xLTEtMS0xMTI4ODk_0341e04e-9d20-4f37-ab31-9e7090ca2df7"
      unitRef="shares">78240506</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i250b5fcf41be4f459b62251ab366c697_I20211225"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMy0zLTEtMS0xMTI4ODk_d062dc05-f0a6-4282-a668-cdee8d837585"
      unitRef="usd">78000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i48394b895093473c994a274663086da9_I20211225"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMy05LTEtMS0xMTI4ODk_51c11987-c0c4-4026-9d2e-c681e4628e68"
      unitRef="usd">898945000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if13701fdb29345fca9f27c6a7176e3fb_I20211225"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMy0xMS0xLTEtMTEyODg5_ed7aeb20-9fb2-4fc9-b130-47b0c211ece0"
      unitRef="usd">-1449000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib07588f9b7764637b9e986e74b8bfddb_I20211225"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMy0xMy0xLTEtMTEyODg5_2c9e841a-72af-4d55-a867-b04e6f8e6e31"
      unitRef="usd">-81794000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idc0595bacd8744b39dc151edbaf37cf1_I20211225"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMy0xNS0xLTEtMTEyODg5_c164c577-39a4-4fea-9634-0d9ee6f8bbb6"
      unitRef="usd">815780000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="if800aa8923954a8db5f89d6baec0295f_D20211226-20220326"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNC0xLTEtMS0xMTI4ODk_2cee5267-73bd-4f6a-ac0d-5d877256450a"
      unitRef="shares">157642</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i9b31f17cc6c04e0583c6c0d54c6796c7_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNC05LTEtMS0xMTI4ODk_64fa1816-14f3-48fd-b427-6cd4dbba0f34"
      unitRef="usd">5645000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNC0xNS0xLTEtMTEyODg5_4bdb0bd3-dc93-4849-b68d-ad4cf140bbe8"
      unitRef="usd">5645000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross
      contextRef="if800aa8923954a8db5f89d6baec0295f_D20211226-20220326"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNS0xLTEtMS0xMTI4ODk_0ee98e57-f78e-4e75-91fb-a4a1ddb19cbf"
      unitRef="shares">6000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i9b31f17cc6c04e0583c6c0d54c6796c7_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNS05LTEtMS0xMTI4ODk_2bb73de4-d2ab-4e3b-836d-813cb1b55fa2"
      unitRef="usd">42000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNS0xNS0xLTEtMTEyODg5_db5aa4ba-eedf-4f89-8290-efd8c627d009"
      unitRef="usd">42000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="if800aa8923954a8db5f89d6baec0295f_D20211226-20220326"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNi0xLTEtMS0xMTI4ODk_94b2e6db-e83f-400d-87d9-903c62f984be"
      unitRef="shares">2612</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="i9b31f17cc6c04e0583c6c0d54c6796c7_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNi05LTEtMS0xMTI4ODk_16df3edc-ec1c-43c4-ba44-3d79357e66ac"
      unitRef="usd">-72000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNi0xNS0xLTEtMTEyODg5_87977003-874d-4152-9113-9504dfcc37b0"
      unitRef="usd">-72000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="if800aa8923954a8db5f89d6baec0295f_D20211226-20220326"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNy0xLTEtMS0xMTI4ODk_06b60e07-886d-4dd5-b3e2-93315dcc985b"
      unitRef="shares">240548</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="i9b31f17cc6c04e0583c6c0d54c6796c7_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNy05LTEtMS0xMTI4ODk_182c669b-dba2-449b-83b9-15bc519ad532"
      unitRef="usd">9397000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfNy0xNS0xLTEtMTEyODg5_1009d6c2-a14c-4d79-896f-00120f80e146"
      unitRef="usd">9397000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i9b31f17cc6c04e0583c6c0d54c6796c7_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfOC05LTEtMS0xMTI4ODk_ef022c26-8c94-4730-bf30-365aad0c13dd"
      unitRef="usd">7831000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfOC0xNS0xLTEtMTEyODg5_6cf321eb-ac2c-4dee-a0b0-2841def5809e"
      unitRef="usd">7831000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i019e1bd941ac4ed19a49d49a659d7b15_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfOS0xMS0xLTEtMTEyODg5_1d9f8470-20d7-406d-9223-22bcdf1451da"
      unitRef="usd">-3028000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfOS0xNS0xLTEtMTEyODg5_de4a4620-fe25-495a-b683-f76d0df4e62d"
      unitRef="usd">-3028000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="idbb7975ed36949279e975cc1a3966a0e_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTAtMTMtMS0xLTExMjg4OQ_1398e20d-bdf1-4b7c-b33f-e36fb376c660"
      unitRef="usd">29872000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTAtMTUtMS0xLTExMjg4OQ_ead00335-6a39-4360-93d7-c467a9d552dc"
      unitRef="usd">29872000</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i3ff2c806e5f347c0ae00509de906fa18_I20220326"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTEtMS0xLTEtMTEyODg5_0ad91d90-b031-4c5f-a210-2fc0a1dd2f76"
      unitRef="shares">78166212</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i3ff2c806e5f347c0ae00509de906fa18_I20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTEtMy0xLTEtMTEyODg5_5edc0763-19c4-4753-afea-049b16cfeba8"
      unitRef="usd">78000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iaac882a5d3414c259c7fc8ecaccbf0a0_I20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTEtOS0xLTEtMTEyODg5_18f32356-fedf-4f6a-9cd3-1b14bf3d67af"
      unitRef="usd">902994000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i32e4c09f3f0e47188e92102334921a45_I20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTEtMTEtMS0xLTExMjg4OQ_6247eecf-9ab2-45e9-866c-af2d6affb5cd"
      unitRef="usd">-4477000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ief2f47bde1ca4274a4b06dae3ef45982_I20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTEtMTMtMS0xLTExMjg4OQ_f7731564-13a9-4cf4-af4c-4bd9312f5f95"
      unitRef="usd">-51922000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yNS9mcmFnOjA5M2VmZDU1MjQxNjRjMTU4NmQ2MjViOGE4NWRmZmRlL3RhYmxlOmU4MmZmMzZiMzhlZjRkYWNiOGQzYjAwOGY3OTdlMmQ1L3RhYmxlcmFuZ2U6ZTgyZmYzNmIzOGVmNGRhY2I4ZDNiMDA4Zjc5N2UyZDVfMTEtMTUtMS0xLTExMjg4OQ_9177cec4-c6f5-42dc-a64f-0530feb6569c"
      unitRef="usd">846673000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMy0xLTEtMS0xMTI4ODk_d2687208-a491-4eb1-832d-0a3e3a3b3816"
      unitRef="usd">1342000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMy0zLTEtMS0xMTI4ODk_3b079332-adb1-4c4e-9ba6-1ce7711f3b15"
      unitRef="usd">29872000</us-gaap:NetIncomeLoss>
    <us-gaap:Depreciation
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNS0xLTEtMS0xMTI4ODk_ffc64f4a-1051-49dc-8a2a-cfda03ddff1c"
      unitRef="usd">7576000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNS0zLTEtMS0xMTI4ODk_ef441ef2-143e-4bf7-885f-2452e10dac78"
      unitRef="usd">6960000</us-gaap:Depreciation>
    <us-gaap:CostOfGoodsAndServicesSoldAmortization
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNi0xLTEtMS0xMTI4ODk_df3710f0-409f-4b6c-873f-2a6913056484"
      unitRef="usd">2378000</us-gaap:CostOfGoodsAndServicesSoldAmortization>
    <us-gaap:CostOfGoodsAndServicesSoldAmortization
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNi0zLTEtMS0xMTI4ODk_9448a1c8-8347-43b6-a50b-134a795542df"
      unitRef="usd">2369000</us-gaap:CostOfGoodsAndServicesSoldAmortization>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNy0xLTEtMS0xMTI4ODk_bfbf9082-5d25-4672-bdf6-6c69de48ca18"
      unitRef="usd">1690000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNy0zLTEtMS0xMTI4ODk_b4066079-8583-4279-9dbe-dd5638bbf05b"
      unitRef="usd">2492000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:ShareBasedCompensation
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfOC0xLTEtMS0xMTI4ODk_474471ab-2195-44d8-bc17-b911f0dc5c4f"
      unitRef="usd">9290000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfOC0zLTEtMS0xMTI4ODk_bbf16c57-02aa-49c2-8469-239282bf2f34"
      unitRef="usd">7520000</us-gaap:ShareBasedCompensation>
    <us-gaap:InventoryWriteDown
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTAtMS0xLTEtMTEyODg5_356a4523-42ab-406e-86cf-9cff998fd396"
      unitRef="usd">4973000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTAtMy0xLTEtMTEyODg5_6a562a50-85de-41de-9dca-937057bed9d3"
      unitRef="usd">2501000</us-gaap:InventoryWriteDown>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTMtMS0xLTEtMTEyODg5_8206dfad-c880-4619-8900-cc2f222af705"
      unitRef="usd">133000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTMtMy0xLTEtMTEyODg5_41b95f08-2397-48f4-90ed-01489d503ebd"
      unitRef="usd">182000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTUtMS0xLTEtMTEyODg5_f0438e8b-3363-45a7-8c95-ed4b5e7c6820"
      unitRef="usd">15926000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTUtMy0xLTEtMTEyODg5_2b98e1aa-9919-4f7e-9048-9471a899c599"
      unitRef="usd">-966000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTYtMS0xLTEtMTEyODg5_85d6af76-8a19-45ef-be35-db0344c80a22"
      unitRef="usd">-1375000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTYtMy0xLTEtMTEyODg5_c79151d1-8fe7-49f2-af5a-3c471f8a38a7"
      unitRef="usd">17080000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTctMS0xLTEtMTEyODg5_1f96aadd-81a5-4bce-9b6d-e30a3e7ba9c4"
      unitRef="usd">-1009000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTctMy0xLTEtMTEyODg5_661ca830-09d6-47ef-877c-8dc2392fdafc"
      unitRef="usd">144000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTgtMS0xLTEtMTEyODg5_42022d89-21e5-4a5b-95f9-a13506dfe431"
      unitRef="usd">55000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTgtMy0xLTEtMTEyODg5_2c09f063-b85a-4bd5-9b26-efbad5b72e09"
      unitRef="usd">73000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTktMS0xLTEtMTEyODg5_ae8e7319-7ff5-4679-ba6e-e9c100dc78dd"
      unitRef="usd">-1819000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMTktMy0xLTEtMTEyODg5_c6518c19-d327-49d5-bf31-8daa80dc931d"
      unitRef="usd">10150000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjAtMS0xLTEtMTEyODg5_96989350-3647-4461-a038-11e5b1b31075"
      unitRef="usd">-10209000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjAtMy0xLTEtMTEyODg5_ee9ea925-0d9f-4231-843e-6d390705da89"
      unitRef="usd">-3120000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherDeferredLiability
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjEtMS0xLTEtMTEyODg5_72c56951-205b-47df-bf6f-2acceb09e189"
      unitRef="usd">319000</us-gaap:IncreaseDecreaseInOtherDeferredLiability>
    <us-gaap:IncreaseDecreaseInOtherDeferredLiability
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjEtMy0xLTEtMTEyODg5_dd49dc3a-a17a-4a94-9ea5-3f7544d06d49"
      unitRef="usd">87000</us-gaap:IncreaseDecreaseInOtherDeferredLiability>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjItMS0xLTEtMTEyODg5_ece34e92-8b84-424c-850f-fcbfbe7d0b7f"
      unitRef="usd">-6046000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjItMy0xLTEtMTEyODg5_766ebe52-a270-4fb4-9498-cbec4022e9b5"
      unitRef="usd">3908000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <form:IncreaseDecreaseInDeferredGovernmentGrant
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjMtMS0xLTEtMTI1NDky_4c3d61d2-f3ea-4b34-aa9d-abb08b639e91"
      unitRef="usd">18000000</form:IncreaseDecreaseInDeferredGovernmentGrant>
    <form:IncreaseDecreaseInDeferredGovernmentGrant
      contextRef="ided587203dc647f5ac8875e74a42a418_D20211226-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjMtMy0xLTEtMTI1NDky_7220982d-4b37-4679-8c5a-bd274e54f748"
      unitRef="usd">0</form:IncreaseDecreaseInDeferredGovernmentGrant>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjMtMS0xLTEtMTEyODg5_7033daa7-f365-4b45-ae56-02dacc909880"
      unitRef="usd">-1721000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjMtMy0xLTEtMTEyODg5_4b17ebe3-892d-4641-96b7-ff43051e3964"
      unitRef="usd">-2435000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjQtMS0xLTEtMTEyODg5_b3df44c9-81b3-47e1-8e4e-0ec4e1c85237"
      unitRef="usd">12309000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjQtMy0xLTEtMTEyODg5_c2d32df1-f56b-48f2-b9f1-4be305b12722"
      unitRef="usd">44155000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjYtMS0xLTEtMTEyODg5_eca36bb9-6bd7-4aa1-bf61-2a06534709a8"
      unitRef="usd">19701000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjYtMy0xLTEtMTEyODg5_0341fa4c-ea9e-4e87-983a-c198d11d444c"
      unitRef="usd">15606000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireMarketableSecurities
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjgtMS0xLTEtMTEyODg5_6493a248-6613-4549-9565-4116067b8484"
      unitRef="usd">27311000</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:PaymentsToAcquireMarketableSecurities
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMjgtMy0xLTEtMTEyODg5_5d7925ef-374f-417c-aa8b-2f78154d89a8"
      unitRef="usd">23462000</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzAtMS0xLTEtMTEyODg5_5a321eeb-4a86-4b92-8705-10b4b8689648"
      unitRef="usd">33473000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzAtMy0xLTEtMTEyODg5_ca4ab319-a5a4-43fc-9dc6-bd2ebd451ea9"
      unitRef="usd">17990000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzEtMS0xLTEtMTEyODg5_a70cdbee-1679-47a2-8f21-c92a7aa736a2"
      unitRef="usd">-13539000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzEtMy0xLTEtMTEyODg5_7b29610e-d850-44eb-b058-09636b8bdedf"
      unitRef="usd">-21078000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzMtMS0xLTEtMTEyODg5_4e233851-2854-4025-98d2-131a4502ec4d"
      unitRef="usd">5024000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzMtMy0xLTEtMTEyODg5_d9bb7854-469e-44ac-8eff-967eee8a7bb1"
      unitRef="usd">5687000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzQtMS0xLTEtMTEyODg5_a852f174-6c0b-4b56-b8a5-9c84609f746d"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzQtMy0xLTEtMTEyODg5_390997d1-4525-4f06-8d2e-85c49c00e694"
      unitRef="usd">9397000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzUtMS0xLTEtMTEyODg5_7849ac6c-624b-4113-9553-c1325843fa97"
      unitRef="usd">387000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzUtMy0xLTEtMTEyODg5_394bcd30-b25c-46a0-af50-531dd01e9dcd"
      unitRef="usd">72000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzgtMS0xLTEtMTEyODg5_931cd3a0-69b8-4e1e-a806-923ea164e002"
      unitRef="usd">259000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfMzgtMy0xLTEtMTEyODg5_c6bf93b9-b1c4-48b4-af18-fb10180f8ccc"
      unitRef="usd">2234000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDAtMS0xLTEtMTEyODg5_038f725b-c923-4bc4-add1-024fc40c320a"
      unitRef="usd">4378000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDAtMy0xLTEtMTEyODg5_a4ec7c51-647c-42a7-b7e8-c6330f62f756"
      unitRef="usd">-6016000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDEtMS0xLTEtMTEyODg5_0bef0edf-1f50-4bcd-8a96-87a5e7ac37a8"
      unitRef="usd">-276000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDEtMy0xLTEtMTEyODg5_760c25bd-4d75-4d4a-b5c9-338539ccaf56"
      unitRef="usd">-1142000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDItMS0xLTEtMTEyODg5_4b18281e-151b-4d77-9e28-9624860917a2"
      unitRef="usd">2872000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDItMy0xLTEtMTEyODg5_141f1551-d946-431d-a1b6-afbc7abef9a4"
      unitRef="usd">15919000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDMtMS0xLTEtMTEyODg5_150099dd-1c5f-4ff8-bee7-7580bf3b5de4"
      unitRef="usd">112982000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="idc0595bacd8744b39dc151edbaf37cf1_I20211225"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDMtMy0xLTEtMTEyODg5_4c72a4ae-6495-4f4f-ab0f-7e14d47f7e6e"
      unitRef="usd">155342000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDQtMS0xLTEtMTEyODg5_ce6adbac-cc2b-409e-ac40-898094b63d22"
      unitRef="usd">115854000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOmRiNzM5Y2JlMDkwZjQ5MGI5YjI0OTdkODM1ZWQyMTI4L3RhYmxlcmFuZ2U6ZGI3MzljYmUwOTBmNDkwYjliMjQ5N2Q4MzVlZDIxMjhfNDQtMy0xLTEtMTEyODg5_8473ee5e-da08-46d3-9728-59c1e3e7c2d6"
      unitRef="usd">171261000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <form:ChangeInCapitalExpendituresIncurredButNotYetPaid
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMy0xLTEtMS0xMTI4ODk_7e76ba23-286e-4363-a7bd-3601eb0e5a42"
      unitRef="usd">3755000</form:ChangeInCapitalExpendituresIncurredButNotYetPaid>
    <form:ChangeInCapitalExpendituresIncurredButNotYetPaid
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMy0zLTEtMS0xMTI4ODk_c48abf4f-992c-4d92-b8e8-951b7150e63b"
      unitRef="usd">2524000</form:ChangeInCapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfNS0xLTEtMS0xMTI4ODk_e10595f7-6811-4cde-bd67-657fb1722c5a"
      unitRef="usd">727000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfNS0zLTEtMS0xMTI4ODk_9e9e7a72-711f-4f22-aa0c-049fe12a6241"
      unitRef="usd">3359000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfOC0xLTEtMS0xMTI4ODk_c7c57ceb-a3d3-44fa-a9f2-83e48ad7c847"
      unitRef="usd">7391000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfOC0zLTEtMS0xMTI4ODk_965ebb80-8478-4308-a1e6-63ccca9d7e86"
      unitRef="usd">890000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfOS0xLTEtMS0xMTI4ODk_3dc031a2-469e-4d80-9cbc-986c2dc9126e"
      unitRef="usd">106000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfOS0zLTEtMS0xMTI4ODk_f39690b5-d591-4423-8105-582d625c1485"
      unitRef="usd">163000</us-gaap:InterestPaidNet>
    <us-gaap:OperatingLeasePayments
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTAtMS0xLTEtMTEyODg5_233b571b-e341-4a65-a50b-6d7b6718583b"
      unitRef="usd">2191000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTAtMy0xLTEtMTEyODg5_8a8421ac-5afd-448b-9785-24c1152122e2"
      unitRef="usd">2094000</us-gaap:OperatingLeasePayments>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTMtMS0xLTEtMTEyODg5_c000fc28-e45e-49ee-8050-ac6c9dc89435"
      unitRef="usd">112360000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTMtMy0xLTEtMTEyODg5_70755597-e380-4c8e-ba09-e64326f242a8"
      unitRef="usd">167182000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTQtMS0xLTEtMTEyODg5_d953666e-dba7-46dc-aa2c-0408d8c71786"
      unitRef="usd">1207000</us-gaap:RestrictedCashCurrent>
    <us-gaap:RestrictedCashCurrent
      contextRef="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTQtMy0xLTEtMTEyODg5_e0cd8f4f-beee-420a-ac9e-25d0d918ad26"
      unitRef="usd">2026000</us-gaap:RestrictedCashCurrent>
    <us-gaap:RestrictedCashNoncurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTUtMS0xLTEtMTEyODg5_1938ca2d-4358-4013-9414-fe8e09060610"
      unitRef="usd">2287000</us-gaap:RestrictedCashNoncurrent>
    <us-gaap:RestrictedCashNoncurrent
      contextRef="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTUtMy0xLTEtMTEyODg5_fe27bfaf-9090-4d1a-b164-75b531431d26"
      unitRef="usd">2053000</us-gaap:RestrictedCashNoncurrent>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTYtMS0xLTEtMTEyODg5_7dde449f-fc3c-46c6-9513-3310efb7ddae"
      unitRef="usd">115854000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8yOC9mcmFnOmM2YTk2NmEwYmY3ZDQyNTE5ZGNkYTZmYzg4NGFiNmNhL3RhYmxlOjNkM2JkYWU5NGIyMjRjZjk5NDQ2ZTM5ZjYyZDJiNDU0L3RhYmxlcmFuZ2U6M2QzYmRhZTk0YjIyNGNmOTk0NDZlMzlmNjJkMmI0NTRfMTYtMy0xLTEtMTEyODg5_00234752-7a74-40fb-8b27-edfecc8debca"
      unitRef="usd">171261000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNC9mcmFnOjFlMWY1ZjhhOTg2NzRmMWQ5MTgyY2JmMDMxODdhZjE2L3RleHRyZWdpb246MWUxZjVmOGE5ODY3NGYxZDkxODJjYmYwMzE4N2FmMTZfMjM5Nw_bdf96f4a-13f5-4ee7-9f80-7c73e1f515f1">Basis of Presentation and Significant Accounting Policies&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying condensed consolidated financial information of FormFactor,&#160;Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;) and pursuant to the rules and regulations of the Securities and Exchange Commission (&#x201c;SEC&#x201d;). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fiscal Year&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the three months ended April&#160;1, 2023 and March&#160;26, 2022 each contained 13 weeks. Fiscal 2023 will end on December&#160;30, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Significant Accounting Policies&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our significant accounting policies have not changed during the three months ended April&#160;1, 2023 from those disclosed in our Annual Report on Form&#160;10-K for the year ended December&#160;31, 2022, except for:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Government Assistance&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In January 2023, we received $18.0&#160;million in cash from a California Competes Grant (the &#x201c;Grant&#x201d;) awarded from the California Governor&#x2019;s Office of Business and Economic Development. The Grant requires FormFactor to create and maintain full-time jobs and make significant infrastructure investments within California over a 5-year term. If we do not meet the requirements of the Grant, we will be required to repay all or a portion of the Grant.&lt;/span&gt;&lt;/div&gt;The Grant is included in our Condensed Consolidated Balance Sheets within Deferred grant and we have elected to recognize when earned as an offset to Cost of revenues and Operating expenses within our Condensed Consolidated Statements of Income. We have elected to present the proceeds from the Grant as cash provided by operating activities within our Condensed Consolidated Statements of Cash Flows as the grant is to offset operations.</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNC9mcmFnOjFlMWY1ZjhhOTg2NzRmMWQ5MTgyY2JmMDMxODdhZjE2L3RleHRyZWdpb246MWUxZjVmOGE5ODY3NGYxZDkxODJjYmYwMzE4N2FmMTZfMjM5OQ_af1aaf61-fd34-4e41-895c-740529fc1db7">Basis of PresentationThe accompanying condensed consolidated financial information of FormFactor,&#160;Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;) and pursuant to the rules and regulations of the Securities and Exchange Commission (&#x201c;SEC&#x201d;). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year.</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:FiscalPeriod
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNC9mcmFnOjFlMWY1ZjhhOTg2NzRmMWQ5MTgyY2JmMDMxODdhZjE2L3RleHRyZWdpb246MWUxZjVmOGE5ODY3NGYxZDkxODJjYmYwMzE4N2FmMTZfMjQwNw_de5aa338-f9cb-4eee-9646-103c5cdedd30">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Fiscal Year&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the three months ended April&#160;1, 2023 and March&#160;26, 2022 each contained 13 weeks. Fiscal 2023 will end on December&#160;30, 2023.&lt;/span&gt;&lt;/div&gt;</us-gaap:FiscalPeriod>
    <form:DeferredGovernmentGrantLiability
      contextRef="i00e80c9aa2ea4901855189b27c589d19_I20230131"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNC9mcmFnOjFlMWY1ZjhhOTg2NzRmMWQ5MTgyY2JmMDMxODdhZjE2L3RleHRyZWdpb246MWUxZjVmOGE5ODY3NGYxZDkxODJjYmYwMzE4N2FmMTZfMjE5OTAyMzI2MzQ5NA_543231b6-dc66-4efe-b185-a033164d2c71"
      unitRef="usd">18000000</form:DeferredGovernmentGrantLiability>
    <form:DeferredGovernmentGrantLiabilityTerm
      contextRef="ie0957046a86843049088ea9ed3a1895b_D20230101-20230131"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNC9mcmFnOjFlMWY1ZjhhOTg2NzRmMWQ5MTgyY2JmMDMxODdhZjE2L3RleHRyZWdpb246MWUxZjVmOGE5ODY3NGYxZDkxODJjYmYwMzE4N2FmMTZfMTY0OTI2NzQ0OTY2Ng_0fe9304c-57ee-47ed-a132-53f462154e8b">P5Y</form:DeferredGovernmentGrantLiabilityTerm>
    <us-gaap:ConcentrationRiskDisclosureTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RleHRyZWdpb246N2M4NGU3MDkwZTM4NDFjNDkxZWYxYzIyYzQxODY5NDZfMzAz_2b7a7157-c047-49b8-9bd2-ee4cdc5c3e5b">Concentration of Credit and Other Risks&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Each of the following customers accounted for 10% or more of our revenues for the periods indicated: &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.291%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Intel Corporation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Taiwan Semiconductor Manufacturing Co., LTD.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;At April&#160;1, 2023, two customers accounted for 17.9% and 15.9% of gross accounts receivable, respectively. At December&#160;31, 2022, one customer accounted for 13.8% of gross accounts receivable.</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RleHRyZWdpb246N2M4NGU3MDkwZTM4NDFjNDkxZWYxYzIyYzQxODY5NDZfMzA4_5d2edfd6-90d5-4a00-aeb8-cd8e0d1af95e">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Each of the following customers accounted for 10% or more of our revenues for the periods indicated: &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.291%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Intel Corporation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Taiwan Semiconductor Manufacturing Co., LTD.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i8f61c29d42d84a839dac357bdf551cbd_D20211226-20220326"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RleHRyZWdpb246N2M4NGU3MDkwZTM4NDFjNDkxZWYxYzIyYzQxODY5NDZfMTAx_0354ae0c-b1c4-4550-b260-912b604ad649"
      unitRef="number">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i2bd9c1713c3842a490bcbe89811f8192_D20230101-20230401"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RleHRyZWdpb246N2M4NGU3MDkwZTM4NDFjNDkxZWYxYzIyYzQxODY5NDZfMTAx_e3e40a59-dbbb-4742-8019-50bf1facb16d"
      unitRef="number">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i9ce3e76bf9a74642b11ec3a276fe4c7c_D20230101-20230401"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RhYmxlOjE2NGIwMjVjOWQzYTQ5Y2NiZDU3NTdjZGZmNjBhY2E4L3RhYmxlcmFuZ2U6MTY0YjAyNWM5ZDNhNDljY2JkNTc1N2NkZmY2MGFjYThfMi0xLTEtMS0xMTI4ODk_cd70ea28-d0c9-4255-9fe1-32d2adc90ddd"
      unitRef="number">0.200</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i3fc07b2edb714033ba67ccfe55d6557c_D20211226-20220326"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RhYmxlOjE2NGIwMjVjOWQzYTQ5Y2NiZDU3NTdjZGZmNjBhY2E4L3RhYmxlcmFuZ2U6MTY0YjAyNWM5ZDNhNDljY2JkNTc1N2NkZmY2MGFjYThfMi0zLTEtMS0xMTI4ODk_322c3134-717e-4272-a8d3-0345fd588d38"
      unitRef="number">0.208</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i6212b6e5723c4b6f9f2ebff8a555dbdb_D20211226-20220326"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RhYmxlOjE2NGIwMjVjOWQzYTQ5Y2NiZDU3NTdjZGZmNjBhY2E4L3RhYmxlcmFuZ2U6MTY0YjAyNWM5ZDNhNDljY2JkNTc1N2NkZmY2MGFjYThfNC0zLTEtMS0xMTI4ODk_d9f4c1ea-b6dd-4873-a86e-aa3f89cd7f34"
      unitRef="number">0.107</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i5a170ac9d3ef4129a40ad5018784d390_D20230101-20230401"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RhYmxlOjE2NGIwMjVjOWQzYTQ5Y2NiZDU3NTdjZGZmNjBhY2E4L3RhYmxlcmFuZ2U6MTY0YjAyNWM5ZDNhNDljY2JkNTc1N2NkZmY2MGFjYThfNy0xLTEtMS0xMTI4ODk_07f7d883-1b12-434d-ac2d-ce5ea963e78c"
      unitRef="number">0.200</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i83ca9c3c1a9e4b7d8082ce044500c605_D20211226-20220326"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RhYmxlOjE2NGIwMjVjOWQzYTQ5Y2NiZDU3NTdjZGZmNjBhY2E4L3RhYmxlcmFuZ2U6MTY0YjAyNWM5ZDNhNDljY2JkNTc1N2NkZmY2MGFjYThfNy0zLTEtMS0xMTI4ODk_5113016e-47bb-425d-b818-5781d665e8e7"
      unitRef="number">0.315</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia638802d47c74b66b59ed61498fab5c2_D20230101-20230401"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RleHRyZWdpb246N2M4NGU3MDkwZTM4NDFjNDkxZWYxYzIyYzQxODY5NDZfNTQ5NzU1ODE0MjA4_3c43f5bf-1616-4a63-b787-8a7db2096faf"
      unitRef="number">0.179</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ib020faff8b7b483492b04e4fd5b4917f_D20230101-20230401"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RleHRyZWdpb246N2M4NGU3MDkwZTM4NDFjNDkxZWYxYzIyYzQxODY5NDZfMTky_6312cbbc-cd19-4d90-a0eb-47e66d998298"
      unitRef="number">0.159</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i27d2b169cc3745228e0efe2854e2a769_D20211226-20221231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF8zNy9mcmFnOjdjODRlNzA5MGUzODQxYzQ5MWVmMWMyMmM0MTg2OTQ2L3RleHRyZWdpb246N2M4NGU3MDkwZTM4NDFjNDkxZWYxYzIyYzQxODY5NDZfMjU4_6d0e83ac-e6e1-4c20-bc57-295ade467e9c"
      unitRef="number">0.138</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RleHRyZWdpb246YmM3MmNmYmNjZGQ3NDI0NjljMzZmZGUwYTcwYWViNjdfMjc1_7da18e85-2a38-4a47-a25d-e775b34ec9e7">Inventories, net &lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are stated at the lower of cost (principally standard cost, which approximates actual cost on a first in, first out basis) or net realizable value.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories, net, consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.022%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.329%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,748&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Work-in-progress&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;39,376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46,067&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,429&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,364&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;116,553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;123,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RleHRyZWdpb246YmM3MmNmYmNjZGQ3NDI0NjljMzZmZGUwYTcwYWViNjdfMjYz_3dba0486-4e1f-4cc1-9c4d-8cc84e48e7bb">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories, net, consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.022%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.329%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,748&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Work-in-progress&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;39,376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46,067&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,429&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,364&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;116,553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;123,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfMS0xLTEtMS0xMTI4ODk_9c7342de-2f6b-4ced-a1b1-5dc718660832"
      unitRef="usd">57748000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfMS0zLTEtMS0xMTI4ODk_aea2110f-5b15-43f5-ac1a-f22d06d844b4"
      unitRef="usd">55726000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfMi0xLTEtMS0xMTI4ODk_e34940d8-8560-403e-b958-0b39e8fb091c"
      unitRef="usd">39376000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfMi0zLTEtMS0xMTI4ODk_66c3099b-54c8-47fc-a88f-1638a7114519"
      unitRef="usd">46067000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfMy0xLTEtMS0xMTI4ODk_8735e8be-f0af-4304-a54f-ed94e844e335"
      unitRef="usd">19429000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfMy0zLTEtMS0xMTI4ODk_2ff01089-1019-4576-b1e6-cca37ff82bc8"
      unitRef="usd">21364000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfNC0xLTEtMS0xMTI4ODk_53668b99-edac-4452-b504-e1b5edba7bb1"
      unitRef="usd">116553000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80MC9mcmFnOmJjNzJjZmJjY2RkNzQyNDY5YzM2ZmRlMGE3MGFlYjY3L3RhYmxlOjk5NTJlNzI4ZWRjYzRjMDRiNTc2MDE2Y2UzNjc4YzVlL3RhYmxlcmFuZ2U6OTk1MmU3MjhlZGNjNGMwNGI1NzYwMTZjZTM2NzhjNWVfNC0zLTEtMS0xMTI4ODk_074f9fdc-7010-42c0-947e-e7182debd1c6"
      unitRef="usd">123157000</us-gaap:InventoryNet>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RleHRyZWdpb246NjkzNmNhMDFkMWU1NDVjNDllZDI4ZjgzYjNhNWMwODhfNTMx_9c2ed256-ba85-4df2-90c8-3931faabcbeb">Goodwill and Intangible Assets &lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill by reportable segment was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Probe Cards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Goodwill, as of December 25, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;178,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;212,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Addition - Woburn Acquisition&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign currency translation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,405)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,405)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Goodwill, as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;178,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;211,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign currency translation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Goodwill, as of April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;178,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33,349&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;211,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have not recorded goodwill impairments for the three months ended April&#160;1, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets were as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.239%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Intangible Assets &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Existing developed technologies &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;171,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;152,260&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;171,441&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;151,212&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46,559&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,912&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,909&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Trade name&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,833&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,759&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;In-process research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;231,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;206,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;230,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;203,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,751&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.328%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cost of revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;831&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.328%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fiscal Year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Remainder of 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,813&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,611&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,268&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,832&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RleHRyZWdpb246NjkzNmNhMDFkMWU1NDVjNDllZDI4ZjgzYjNhNWMwODhfNTE3_6fc9baa6-4fd1-4d8b-97fa-f1ab2d3cd070">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill by reportable segment was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Probe Cards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Goodwill, as of December 25, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;178,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;212,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Addition - Woburn Acquisition&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign currency translation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,405)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,405)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Goodwill, as of December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;178,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;211,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign currency translation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Goodwill, as of April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;178,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33,349&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;211,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="ibba6fed22a3948b88e804a339b227c77_I20211225"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfMS0yLTEtMS0xMTI4ODk_46496234-0fc6-4a8a-86fd-9b98a6b5441a"
      unitRef="usd">178424000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i61235faefd0344219da355b547a3a31c_I20211225"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfMS00LTEtMS0xMTI4ODk_11a6aa93-b1da-4603-93e7-848f0908fc67"
      unitRef="usd">33875000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="idc0595bacd8744b39dc151edbaf37cf1_I20211225"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfMS02LTEtMS0xMTI4ODk_4a9ba4f3-c85f-4559-9455-959cf47a44db"
      unitRef="usd">212299000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i4ee0090ed4914eb28cc6da729ef97536_D20211226-20220625"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNC0yLTEtMS0xMTI4ODk_44687603-740b-474d-a589-04c3a18e88a7"
      unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i86045bc3758f4f4484b5297c3bc8c0e7_D20211226-20220625"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNC00LTEtMS0xMTI4ODk_a11041b8-cf04-4425-95e7-4215dbfaf096"
      unitRef="usd">550000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i4da93390065c4f1399eac3c1a493d7b7_D20211226-20220625"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNC02LTEtMS0xMTI4ODk_e75a5180-4cd6-4249-833d-7ea30d22b8cd"
      unitRef="usd">550000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="idbb674e34b5d47c6a47810c486105126_D20211226-20220625"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNS0yLTEtMS0xMTI4ODk_4552e477-6e32-461e-970a-aca32e245bc1"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i08dcf133ad3e4264826391d8fddac314_D20211226-20220625"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNS00LTEtMS0xMTI4ODk_c6826bad-2af2-4c40-ab5b-88efef1f3121"
      unitRef="usd">-1405000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i787d2864f74147c1a8565860ffdcc26c_D20211226-20220625"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNS02LTEtMS0xMTI4ODk_3d1b8b12-a14a-4e62-bda7-802c56b80ad2"
      unitRef="usd">-1405000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="i7b1436d4c3944dbfa2bc5432edeaf920_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNi0yLTEtMS0xMTI4ODk_bd8248fc-cb45-45ad-8095-f28add970cd9"
      unitRef="usd">178424000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i73cc1e79bbb7440da6ad5094c9875ff1_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNi00LTEtMS0xMTI4ODk_d562af94-64f8-4ea3-90db-9fb57f6f0c99"
      unitRef="usd">33020000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfNi02LTEtMS0xMTI4ODk_f82e3f75-393c-4cf6-9b3e-dc138f9b4066"
      unitRef="usd">211444000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i6c18bf3d5fc448e58ed4984c43215955_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfOS0yLTEtMS0xMTI4ODk_f138111d-f248-41a4-b54f-43bea9e741fa"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i053bfe5a4e704c5b922d9931322549aa_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfOS00LTEtMS0xMTI4ODk_5eb9afe7-f5b9-4260-a25f-6f20d4e7cbe3"
      unitRef="usd">329000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfOS02LTEtMS0xMTI4ODk_b6b41819-6355-47a8-b708-d89b5b07dedd"
      unitRef="usd">329000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="i1490b90e4b184f60afb9afb68d2263d3_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfMTAtMi0xLTEtMTEyODg5_df0c25d4-3669-47cf-a8d1-057379170635"
      unitRef="usd">178424000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i1fe2d4d1b9fd4e6e9f2a29dfb56afb2e_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfMTAtNC0xLTEtMTEyODg5_ee87b59d-b97b-4e53-85e7-57da62011fc6"
      unitRef="usd">33349000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmVhYmZkMWM2OGNiOTRmZmZhYjQ3Mjk2ZDM4YTAyZWJlL3RhYmxlcmFuZ2U6ZWFiZmQxYzY4Y2I5NGZmZmFiNDcyOTZkMzhhMDJlYmVfMTAtNi0xLTEtMTEyODg5_91a849ae-faf7-4c51-817b-2eb7900c1feb"
      unitRef="usd">211773000</us-gaap:Goodwill>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RleHRyZWdpb246NjkzNmNhMDFkMWU1NDVjNDllZDI4ZjgzYjNhNWMwODhfMTIw_33068475-8d80-48fa-a406-085bfcf97ef8"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RleHRyZWdpb246NjkzNmNhMDFkMWU1NDVjNDllZDI4ZjgzYjNhNWMwODhfNTA0_f3cda7e6-0e06-4f42-be2f-858fd4eed164">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets were as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:26.239%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Intangible Assets &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Existing developed technologies &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;171,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;152,260&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;171,441&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;151,212&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46,559&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,912&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,909&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Trade name&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,833&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,759&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;In-process research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;231,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;206,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;230,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;203,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,751&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ifb1843046ac64a248f026149e342f005_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMi0yLTEtMS0xMTI4ODk_55825bf0-c138-421c-9fd6-51b19ae17bc5"
      unitRef="usd">171750000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ifb1843046ac64a248f026149e342f005_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMi00LTEtMS0xMTI4ODk_8d2fbe3e-2d5b-4781-a928-1c68d2ea00ef"
      unitRef="usd">152260000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ifb1843046ac64a248f026149e342f005_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMi02LTEtMS0xMTI4ODk_b9e7d780-6717-48c4-abed-da5c2d743304"
      unitRef="usd">19490000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iff374ecbf3964ab8b4a146c18ee29ba8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMi04LTEtMS0xMTI4ODk_ce90dcf1-0cec-4df0-bedf-631ae40bab95"
      unitRef="usd">171441000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iff374ecbf3964ab8b4a146c18ee29ba8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMi0xMC0xLTEtMTEyODg5_830e8e8e-8a9b-439b-ad83-3ff6755d831d"
      unitRef="usd">151212000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iff374ecbf3964ab8b4a146c18ee29ba8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMi0xMi0xLTEtMTEyODg5_0da9cf49-b193-406a-893d-45c48cd475b9"
      unitRef="usd">20229000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i9e29c276f3ed4682beafdca282c93b22_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMy0yLTEtMS0xMTI4ODk_09768724-9f60-4ce1-8960-3b8793fc07b4"
      unitRef="usd">50996000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i9e29c276f3ed4682beafdca282c93b22_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMy00LTEtMS0xMTI4ODk_c30164e7-601e-4a59-afa4-9d4be2930b0f"
      unitRef="usd">46559000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i9e29c276f3ed4682beafdca282c93b22_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMy02LTEtMS0xMTI4ODk_76501a71-ebf7-4473-861a-c4b2726e9e1b"
      unitRef="usd">4437000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i3707ece5481a49ada21db88d0ec7429a_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMy04LTEtMS0xMTI4ODk_23dd8104-9fae-4ed4-a338-121fda18b08d"
      unitRef="usd">50912000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i3707ece5481a49ada21db88d0ec7429a_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMy0xMC0xLTEtMTEyODg5_a77c65a2-823e-4c00-b7cf-cedd66de01f2"
      unitRef="usd">45003000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i3707ece5481a49ada21db88d0ec7429a_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfMy0xMi0xLTEtMTEyODg5_4182cbd6-66f6-4216-9ae0-c8b86aebf37e"
      unitRef="usd">5909000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ic57bd9b989644bbface3ee0cea59de3b_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNC0yLTEtMS0xMTI4ODk_2d054c8e-0a87-4ea1-a031-d080ee7bdc93"
      unitRef="usd">7992000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ic57bd9b989644bbface3ee0cea59de3b_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNC00LTEtMS0xMTI4ODk_42606d55-cce9-4d9c-a09d-a118ae8a40b7"
      unitRef="usd">7833000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ic57bd9b989644bbface3ee0cea59de3b_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNC02LTEtMS0xMTI4ODk_a8bcf1db-25d0-4769-a48a-8c96b517e76c"
      unitRef="usd">159000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i5b1b8c96fc6b45fd9d75e38af2441b09_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNC04LTEtMS0xMTI4ODk_94e4124c-c0d2-483b-9480-525e7fc81f2a"
      unitRef="usd">7972000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i5b1b8c96fc6b45fd9d75e38af2441b09_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNC0xMC0xLTEtMTEyODg5_27d80a74-c50b-45f0-ad68-e8a462265720"
      unitRef="usd">7759000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i5b1b8c96fc6b45fd9d75e38af2441b09_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNC0xMi0xLTEtMTEyODg5_2f8205df-5a4f-4836-9433-30a76558256f"
      unitRef="usd">213000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="if07f490cee574b3ebf3fee7e00987307_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNi0yLTEtMS0xMTI4ODk_dcf6530c-3fde-4fc3-add1-021423939aa4"
      unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="if07f490cee574b3ebf3fee7e00987307_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNi00LTEtMS0xMTI4ODk_45db4650-9720-48b6-8907-3d9b321bd016"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="if07f490cee574b3ebf3fee7e00987307_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNi02LTEtMS0xMTI4ODk_a7fe68c3-326c-4192-b9ce-67de3cbc39a8"
      unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i6872f899bfb240559c2a9801190e591d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNi04LTEtMS0xMTI4ODk_86949992-32b3-4bc8-bfa8-9d4295383bf8"
      unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i6872f899bfb240559c2a9801190e591d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNi0xMC0xLTEtMTEyODg5_9c0e891e-432f-489f-aea4-ef58f3100cb7"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i6872f899bfb240559c2a9801190e591d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNi0xMi0xLTEtMTEyODg5_47837699-e55d-4104-9ab1-efbc45a68965"
      unitRef="usd">400000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNy0yLTEtMS0xMTI4ODk_d9c8da45-b7c4-4cbd-b696-c3ddf0b1335e"
      unitRef="usd">231138000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNy00LTEtMS0xMTI4ODk_71f64755-a1f1-41bf-a820-458eeb3439c5"
      unitRef="usd">206652000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNy02LTEtMS0xMTI4ODk_a39a19a5-1afd-4b68-9450-bd1ae82f7032"
      unitRef="usd">24486000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNy04LTEtMS0xMTI4ODk_14a494e7-f503-4ee9-beb3-a23d0dd47b3c"
      unitRef="usd">230725000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNy0xMC0xLTEtMTEyODg5_3bd945c5-a6c4-4bad-8088-5a02f05ef9c2"
      unitRef="usd">203974000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOmU0YTI5NDkzNTEzNTRlYWRiY2RiOWFmYTYwNjc0ZDJjL3RhYmxlcmFuZ2U6ZTRhMjk0OTM1MTM1NGVhZGJjZGI5YWZhNjA2NzRkMmNfNy0xMi0xLTEtMTEyODg5_c262c60d-8a54-44ad-8077-b18726815fd5"
      unitRef="usd">26751000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RleHRyZWdpb246NjkzNmNhMDFkMWU1NDVjNDllZDI4ZjgzYjNhNWMwODhfNTIx_b3d5a91e-d913-49af-9e80-710940454c47">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.328%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cost of revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;831&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i78b0bbf163f04290aa5a52fa5469e112_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjc0MTk0OTc0ZmM4NDQ1Yjg4MjAwNmZiOGU3YzBjZDJmL3RhYmxlcmFuZ2U6NzQxOTQ5NzRmYzg0NDViODgyMDA2ZmI4ZTdjMGNkMmZfMi0xLTEtMS0xMTI4ODk_3b6d4ee8-5e2c-4956-b065-b2be79449f73"
      unitRef="usd">831000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="if6dd5f1b0ef94564a4e3df06f5b2d467_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjc0MTk0OTc0ZmM4NDQ1Yjg4MjAwNmZiOGU3YzBjZDJmL3RhYmxlcmFuZ2U6NzQxOTQ5NzRmYzg0NDViODgyMDA2ZmI4ZTdjMGNkMmZfMi0zLTEtMS0xMTI4ODk_15672cc7-3528-45a9-b8c0-01bbdb5e0c71"
      unitRef="usd">808000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ifc9a948ca0a44616805210608e46d25f_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjc0MTk0OTc0ZmM4NDQ1Yjg4MjAwNmZiOGU3YzBjZDJmL3RhYmxlcmFuZ2U6NzQxOTQ5NzRmYzg0NDViODgyMDA2ZmI4ZTdjMGNkMmZfMy0xLTEtMS0xMTI4ODk_c294e7f0-94b5-4dc0-b610-fadd255da56a"
      unitRef="usd">1547000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i0488de2642dd428e91439109c44b266c_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjc0MTk0OTc0ZmM4NDQ1Yjg4MjAwNmZiOGU3YzBjZDJmL3RhYmxlcmFuZ2U6NzQxOTQ5NzRmYzg0NDViODgyMDA2ZmI4ZTdjMGNkMmZfMy0zLTEtMS0xMTI4ODk_0be6d4ab-bd2a-4d07-ac7a-7186fec479d6"
      unitRef="usd">1561000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjc0MTk0OTc0ZmM4NDQ1Yjg4MjAwNmZiOGU3YzBjZDJmL3RhYmxlcmFuZ2U6NzQxOTQ5NzRmYzg0NDViODgyMDA2ZmI4ZTdjMGNkMmZfNC0xLTEtMS0xMTI4ODk_85830811-b9be-4f16-b924-fe32f3ef67f5"
      unitRef="usd">2378000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjc0MTk0OTc0ZmM4NDQ1Yjg4MjAwNmZiOGU3YzBjZDJmL3RhYmxlcmFuZ2U6NzQxOTQ5NzRmYzg0NDViODgyMDA2ZmI4ZTdjMGNkMmZfNC0zLTEtMS0xMTI4ODk_95bd5e1c-fadc-4291-953a-d2c4fced3caa"
      unitRef="usd">2369000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RleHRyZWdpb246NjkzNmNhMDFkMWU1NDVjNDllZDI4ZjgzYjNhNWMwODhfNTI3_30ebe0ab-95de-480c-abff-9742c882e765">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.328%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fiscal Year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Remainder of 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,813&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,611&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,268&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,832&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjhlNzgyMzk4YjJjNTQzZWI5N2NjZmQ0ODBlMjFmZDE5L3RhYmxlcmFuZ2U6OGU3ODIzOThiMmM1NDNlYjk3Y2NmZDQ4MGUyMWZkMTlfMS0yLTEtMS0xMTI4ODk_48e03b2e-aa98-4aef-8fa7-162b50572e7e"
      unitRef="usd">4813000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjhlNzgyMzk4YjJjNTQzZWI5N2NjZmQ0ODBlMjFmZDE5L3RhYmxlcmFuZ2U6OGU3ODIzOThiMmM1NDNlYjk3Y2NmZDQ4MGUyMWZkMTlfMi0yLTEtMS0xMTI4ODk_a926e7f5-be4e-4e0b-854c-e973e95950bc"
      unitRef="usd">4611000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjhlNzgyMzk4YjJjNTQzZWI5N2NjZmQ0ODBlMjFmZDE5L3RhYmxlcmFuZ2U6OGU3ODIzOThiMmM1NDNlYjk3Y2NmZDQ4MGUyMWZkMTlfMy0yLTEtMS0xMTI4ODk_92d04e86-88a3-4667-a82b-cc5d6dd51f8c"
      unitRef="usd">4268000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjhlNzgyMzk4YjJjNTQzZWI5N2NjZmQ0ODBlMjFmZDE5L3RhYmxlcmFuZ2U6OGU3ODIzOThiMmM1NDNlYjk3Y2NmZDQ4MGUyMWZkMTlfNC0yLTEtMS0xMTI4ODk_7adc0450-4088-4f11-92fb-9cf37ef292db"
      unitRef="usd">3175000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjhlNzgyMzk4YjJjNTQzZWI5N2NjZmQ0ODBlMjFmZDE5L3RhYmxlcmFuZ2U6OGU3ODIzOThiMmM1NDNlYjk3Y2NmZDQ4MGUyMWZkMTlfNS0yLTEtMS0xMTI4ODk_7f82a52a-c0be-4b54-98fa-411bb6b69246"
      unitRef="usd">2832000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <form:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjhlNzgyMzk4YjJjNTQzZWI5N2NjZmQ0ODBlMjFmZDE5L3RhYmxlcmFuZ2U6OGU3ODIzOThiMmM1NDNlYjk3Y2NmZDQ4MGUyMWZkMTlfNi0yLTEtMS0xMTI4ODk_6742a500-0383-494a-96b6-6f24953a001f"
      unitRef="usd">4387000</form:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour>
    <form:FiniteLivedIntangibleAssetsAmortizationExpenseTotal
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80Ni9mcmFnOjY5MzZjYTAxZDFlNTQ1YzQ5ZWQyOGY4M2IzYTVjMDg4L3RhYmxlOjhlNzgyMzk4YjJjNTQzZWI5N2NjZmQ0ODBlMjFmZDE5L3RhYmxlcmFuZ2U6OGU3ODIzOThiMmM1NDNlYjk3Y2NmZDQ4MGUyMWZkMTlfNy0yLTEtMS0xMTI4ODk_6cdcd5ed-4c3c-4ce1-9a9b-4fbcb416564b"
      unitRef="usd">24086000</form:FiniteLivedIntangibleAssetsAmortizationExpenseTotal>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RleHRyZWdpb246Zjk3NWNhNjc3NmNmNDRiN2FhMzIyYmI1ZDNmNjVjODRfMTAx_0d0a5c61-a06a-4f4e-9cc8-b3228ee6d753">Accrued Liabilities&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued liabilities consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.022%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.329%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accrued compensation and benefits&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20,028&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;15,864&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accrued income and other taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,241&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;12,817&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accrued warranty&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,199&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Employee stock purchase plan contributions withheld&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accrued restructuring charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;42,115&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RleHRyZWdpb246Zjk3NWNhNjc3NmNmNDRiN2FhMzIyYmI1ZDNmNjVjODRfMTA0_d242aec2-1555-4643-b1e5-b15f309ef9b1">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued liabilities consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.022%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.329%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accrued compensation and benefits&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20,028&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;15,864&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accrued income and other taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,241&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;12,817&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accrued warranty&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,199&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Employee stock purchase plan contributions withheld&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accrued restructuring charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;42,115&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfMS0xLTEtMS0xMTI4ODk_faf08407-8e74-4d85-ab0d-bb0a7cfcdbc0"
      unitRef="usd">20028000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfMS0zLTEtMS0xMTI4ODk_4d021a09-63e8-4186-942f-b466109b8986"
      unitRef="usd">15864000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:TaxesPayableCurrentAndNoncurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfMi0xLTEtMS0xMTI4ODk_f77a28d9-6e38-4388-bb1a-81c3e86126da"
      unitRef="usd">3241000</us-gaap:TaxesPayableCurrentAndNoncurrent>
    <us-gaap:TaxesPayableCurrentAndNoncurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfMi0zLTEtMS0xMTI4ODk_2acc8566-9ef5-4ffa-b0a8-5ca67f5f1b30"
      unitRef="usd">12817000</us-gaap:TaxesPayableCurrentAndNoncurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfMy0xLTEtMS0xMTI4ODk_c6654812-56d9-4032-b182-03ff5354fb85"
      unitRef="usd">3872000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfMy0zLTEtMS0xMTI4ODk_f499fab6-620e-488d-bfb5-656b3a1f7dcf"
      unitRef="usd">4199000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNC0xLTEtMS0xMTI4ODk_dfaaa711-f9a6-42a9-844f-56a5c56f2d43"
      unitRef="usd">1533000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNC0zLTEtMS0xMTI4ODk_cc67fb23-cae4-4bd4-9c8b-84d38fe1e0be"
      unitRef="usd">4585000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:RestructuringReserve
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNS0xLTEtMS0xMTI4ODk_0e398cd3-37d1-40db-8530-74e05d175c3b"
      unitRef="usd">376000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNS0zLTEtMS0xMTI4ODk_f8be6ad2-c3c2-4f1a-a8f0-00d60832ee9f"
      unitRef="usd">1249000</us-gaap:RestructuringReserve>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNi0xLTEtMS0xMTI4ODk_bbedd945-c804-4309-b0b2-36f4c5303709"
      unitRef="usd">2931000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNi0zLTEtMS0xMTI4ODk_49a3053b-6f94-4b79-8a3f-45c2e1e804fd"
      unitRef="usd">3401000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNy0xLTEtMS0xMTI4ODk_e81ee9bb-b6b7-41a1-b61c-ac79df73029e"
      unitRef="usd">31981000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF80OS9mcmFnOmY5NzVjYTY3NzZjZjQ0YjdhYTMyMmJiNWQzZjY1Yzg0L3RhYmxlOjRjNDRkYTM4OTEwZTQxZjQ4MzQ3MjZhMzEyMjdiNmUxL3RhYmxlcmFuZ2U6NGM0NGRhMzg5MTBlNDFmNDgzNDcyNmEzMTIyN2I2ZTFfNy0zLTEtMS0xMTI4ODk_9be55f95-a4ae-4b65-9ffb-d62781a3629b"
      unitRef="usd">42115000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMjQ0Mg_e47d0867-63ef-42c1-9d7a-26634267cf1c">Restructuring Charges&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;2022 Restructuring Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On October 25, 2022, we adopted a restructuring plan (&#x201c;2022 restructuring plan&#x201d;) to align our cost structure with reduced demand levels, by streamlining and improving the efficiency and business effectiveness of our operations. This plan included lowering headcount by approximately 13% of our workforce. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has recognized 2022 restructuring plan charges of approximately $8.1 million for severance and employee-related costs, including $0.3 million for stock-based compensation, with $7.1 million within the Probe Cards segment, $0.5 million within the Systems segment, and $0.5&#160;million within Corporate. We do not expect to incur additional material costs related to the 2022 restructuring plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;2021 Restructuring Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On September 25, 2021, we adopted restructuring plans (&#x201c;2021 restructuring plans&#x201d;) to improve our business effectiveness and streamline our operations by consolidating certain manufacturing facilities for both the Probe Cards segment and the Systems segment. This included plans to consolidate or relocate certain leased locations in the United States to other locations in the United States, Germany and Asia. As a result of these changes to certain work locations, we have incurred personnel related costs to sever, relocate, or retain select employees. Additionally, as part of these plans we have undertaken actions to adjust capacity for certain product offerings, which included contract termination costs to satisfy contract obligations. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has recognized 2021 restructuring plans charges of approximately $12.7 million, with $9.9 million within the Probe Cards segment and $2.8 million within the Systems segment, and were comprised of $1.3 million of severance and employee-related costs, $1.8 million in contract and lease termination costs, $9.1 million in inventory impairments and other inventory related costs, and $0.5 million of cost related to impairment of leasehold improvements, facility exits and fixed asset related costs. We do not expect additional material costs related to the 2021 restructuring plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.063%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.581%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Probe Cards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Probe Cards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cost of revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;70&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(45)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;70&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;83&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;271&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes to the restructuring accrual in the three months ended April&#160;1, 2023 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.524%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Employee Severance&lt;br/&gt;and Benefits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Stock-based Compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Inventory&lt;br/&gt;Impairments &amp;amp;&lt;br/&gt;Other Inventory&lt;br/&gt;Related Costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Restructuring charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;842&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,715)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(63)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,778)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-cash settlement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(295)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(312)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock>
    <us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent
      contextRef="i0958eaad30e349a884297b4aa3f8860a_D20221025-20221025"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMjk4NDM_305b822a-78f6-419a-9ac8-4f250e390763"
      unitRef="number">0.13</us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent>
    <us-gaap:RestructuringCharges
      contextRef="idf707cb5d0904c859a0841754f684d0e_D20221025-20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcxOTYwMA_93effd44-96e7-4652-9682-4f0f797802e4"
      unitRef="usd">8100000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i4ae9c9dd293147e6b89a5a2d1f5dfbd4_D20221025-20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcxOTY1Ng_62846740-9307-4d68-bab7-05504d206aa7"
      unitRef="usd">300000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="icfea74563a7d493187ff71b2baa6e2cb_D20221025-20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcxOTcxNQ_f0a4b73c-0bdc-49e5-919f-c7773c3debe9"
      unitRef="usd">7100000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="id3ae4b8d72074a72a5160796d7ce9573_D20221025-20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcxOTc1MQ_bd8c8fbf-ec3c-4ad1-9770-3d6a37a0291e"
      unitRef="usd">500000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i06fbc933985b4655a9aff52944bc5af9_D20221025-20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMTY0OTI2NzQ3MTg4Ng_41bb2812-cd05-4f9e-a842-bb9bbe863c74"
      unitRef="usd">500000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="iadc9493ef2b64363a6f9770b4ffdc77b_D20210925-20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcyMDcxNg_9f4087a4-7c68-4c99-92b8-e22092b5ad99"
      unitRef="usd">12700000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i8e8e2a9a573b43e2a5c4893efdda0854_D20210925-20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMTA5OTUxMTY1Nzc3OA_8961a7bb-dd2a-4b31-99fe-dc427da70dad"
      unitRef="usd">9900000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i82356ea908b04353934bc18b6d2496fd_D20210925-20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMTA5OTUxMTY1Nzc4NQ_abd17fad-ef5d-497a-837d-21759b349538"
      unitRef="usd">2800000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i2f2445e6cc2a4500a556de88f35238c7_D20210925-20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcyMDczNA_f440c688-c696-4d21-9eee-1ddd3c779014"
      unitRef="usd">1300000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="ie7c3398a457c44cda51be5ecc8994d54_D20210925-20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcyMDc3OQ_709aabe0-56d1-447a-a09e-8f79a5759e4f"
      unitRef="usd">1800000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="id47356aa381a4938b76f1128ee97b6fa_D20210925-20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcyMDgyNA_53b7afd0-292a-4fcd-b325-e4c6866aea86"
      unitRef="usd">9100000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="iaf3b01558b2049ed937c42f62a0627f6_D20210925-20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMzg0ODI5MDcyMDg5Mg_ff28a74c-9960-4ba3-9f97-1ab869bd14dc"
      unitRef="usd">500000</us-gaap:RestructuringCharges>
    <us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMjQ0Mw_80052398-95d5-4042-91ed-11af11d2270d">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.063%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.864%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.581%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Probe Cards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Probe Cards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cost of revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;70&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(45)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;70&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;83&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;271&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock>
    <us-gaap:RestructuringCharges
      contextRef="if1b7db1c7bec499cae220a7549bfd324_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfMy0xLTEtMS0xMjY2MTI_f56374dc-dac6-4834-adf0-c28ba8e03c26"
      unitRef="usd">70000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i95896d91f6c44056853b89c521a8c75d_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfMy0zLTEtMS0xMjY2MTI_1ce32e0a-c2b9-447d-bc7e-c8ee67b05123"
      unitRef="usd">-45000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i78b0bbf163f04290aa5a52fa5469e112_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfMy01LTEtMS0xMjY2MTI_f83e3f25-2dec-462e-a277-a9cd735c839e"
      unitRef="usd">25000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i49eafed3fbe541a19d657a7fb5fa4133_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfMy03LTEtMS0xMjY2MTI_2b20dbc4-c56a-4030-ad32-e521744f5b3b"
      unitRef="usd">39000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i6282743fb1d849a5bf3e665300455e70_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfMy05LTEtMS0xMjY2MTI_a0c52532-5a22-4533-8653-bdb1bda0c7b1"
      unitRef="usd">100000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="if6dd5f1b0ef94564a4e3df06f5b2d467_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfMy0xMS0xLTEtMTI2NjEy_97d7c931-ed38-4192-bbbd-3d8df9e04dd6"
      unitRef="usd">139000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="ic9b224454d814ffdb129c67210d8fbf0_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNC0xLTEtMS0xMjY2MTI_86581ca3-18b7-4445-bebd-b9e33b31b3a1"
      unitRef="usd">4000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i8d7c7158b86349b0b673e386ab23f4d1_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNC0zLTEtMS0xMjY2MTI_20483b86-9dea-4d6a-bf7b-7a73adb0dc73"
      unitRef="usd">66000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="ib5fb47f1ee4a4d55acbda6cc986d0e2f_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNC01LTEtMS0xMjY2MTI_33f66284-78bf-4f92-af69-0a6451dfd395"
      unitRef="usd">70000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i3601140a1b5d48cbb74545450b7b49a1_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNC03LTEtMS0xMjY2MTI_363cac98-10f2-474e-b9eb-2e5ac9cb3177"
      unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i6582efeb97c740f2ad2d4044af6c2ff9_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNC05LTEtMS0xMjY2MTI_b2873dfe-dcf5-41d8-8503-1d85ddf38bb9"
      unitRef="usd">146000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="ic132082e7576428b9814f8d5ff660918_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNC0xMS0xLTEtMTI2NjEy_41eecb99-c563-478c-b823-2427e3bf50e0"
      unitRef="usd">146000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i3b78b68007a54f6fbc15c14d492d2b2c_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNS0xLTEtMS0xMjY2MTI_6851574e-794f-488c-8ffd-0902935cfcfb"
      unitRef="usd">1060000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i5cbc20d07e044df58c256b505f1b70ab_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNS0zLTEtMS0xMjY2MTI_5a86de1d-d160-4398-a5e0-05c734b49ba5"
      unitRef="usd">62000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="ifc9a948ca0a44616805210608e46d25f_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNS01LTEtMS0xMjY2MTI_8c11149b-9231-407b-9c58-340261e70bc9"
      unitRef="usd">1122000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i05bb199b856b4bfabf594e1eda7607b8_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNS03LTEtMS0xMjY2MTI_8fed9887-9757-4302-83c6-9036af0ece29"
      unitRef="usd">3000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i12895a6ccb9943618c0b4a6e94058610_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNS05LTEtMS0xMjY2MTI_27fcad31-57ca-4fa5-9c32-85bd3764ce72"
      unitRef="usd">25000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i0488de2642dd428e91439109c44b266c_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNS0xMS0xLTEtMTI2NjEy_0a4edd3c-ceff-49f8-b853-9702f76b8ae8"
      unitRef="usd">28000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i6c18bf3d5fc448e58ed4984c43215955_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNi0xLTEtMS0xMjY2MTI_4946f5d6-5b17-46cf-b525-9ec5f3c02e32"
      unitRef="usd">1134000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i053bfe5a4e704c5b922d9931322549aa_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNi0zLTEtMS0xMjY2MTI_ef2cb0f1-1bff-47fa-8350-eee6fa235b06"
      unitRef="usd">83000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNi01LTEtMS0xMjY2MTI_27fc63a8-3f80-40b5-b501-c9d7d9ee0e8e"
      unitRef="usd">1217000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i54f2f2fa7e50416aa38c90bcc04d78f8_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNi03LTEtMS0xMjY2MTI_2bac3e58-510c-4815-aa9a-432915f9b3a2"
      unitRef="usd">42000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="ifa49921cb7384c388de263ba1beea208_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNi05LTEtMS0xMjY2MTI_356432e5-eaee-4071-b529-37dd1381bf41"
      unitRef="usd">271000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOjdiZDQ4MjM4NDIzYTRhYjhiZTY2MWE4OTQ5ZDY2ZThkL3RhYmxlcmFuZ2U6N2JkNDgyMzg0MjNhNGFiOGJlNjYxYTg5NDlkNjZlOGRfNi0xMS0xLTEtMTI2NjEy_cf344666-5bc1-45b1-9e2f-60750c8dd884"
      unitRef="usd">313000</us-gaap:RestructuringCharges>
    <us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RleHRyZWdpb246YjdjY2UwZDcwNjZjNDA5N2ExM2MzMzBjMjQzOGNjNWZfMjQ0NA_5d64c591-1aa5-4982-8545-9d42f36b8b1e">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes to the restructuring accrual in the three months ended April&#160;1, 2023 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.524%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Employee Severance&lt;br/&gt;and Benefits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Stock-based Compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Inventory&lt;br/&gt;Impairments &amp;amp;&lt;br/&gt;Other Inventory&lt;br/&gt;Related Costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Restructuring charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;842&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,715)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(63)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,778)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-cash settlement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(295)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(312)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock>
    <us-gaap:RestructuringReserve
      contextRef="ib27b3962f9b24e249e27e49b51686691_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMS0xLTEtMS0xMTI4ODk_3a2fa38f-693f-4d3f-984b-da95f098180e"
      unitRef="usd">1249000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i7ba599ea2b044831ac6696e62539a8fc_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMS0zLTEtMS0xMjY5MzY_1ad65b60-3eab-4580-99a5-9bc0598b543b"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i7660898fbe044fa9a6043299774901f9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMS0zLTEtMS0xMTI4ODk_75841249-b1e4-465c-9b47-94a0a86e1f0f"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMS0xMS0xLTEtMTEyODg5_1785573e-f47b-4315-a358-c67a81874e5d"
      unitRef="usd">1249000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringCharges
      contextRef="i5741ed4afdeb4572a757cfa071739f4e_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMi0xLTEtMS0xMTI4ODk_dca841fd-6b1b-4d0e-9057-2b06c4f6e449"
      unitRef="usd">842000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i8ca442f49dd4434c98f14186852a6786_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMi0zLTEtMS0xMjY5MzY_684c6a13-15e8-43ad-a883-42eeb40cc329"
      unitRef="usd">295000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i38cd5a7836bd4023867cd8ed3e14feed_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMi0zLTEtMS0xMTI4ODk_88feae8b-3b83-4097-bff4-b7b65471b1a4"
      unitRef="usd">80000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMi0xMS0xLTEtMTEyODg5_a7dc98ca-9d65-40cf-80d7-903b52d2569e"
      unitRef="usd">1217000</us-gaap:RestructuringCharges>
    <us-gaap:PaymentsForRestructuring
      contextRef="i5741ed4afdeb4572a757cfa071739f4e_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMy0xLTEtMS0xMTI4ODk_5d2e7754-c993-41a9-9181-2d2ade05adc0"
      unitRef="usd">1715000</us-gaap:PaymentsForRestructuring>
    <us-gaap:PaymentsForRestructuring
      contextRef="i8ca442f49dd4434c98f14186852a6786_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMy0zLTEtMS0xMjY5MzY_324318e8-4d9d-4fea-81b8-9ed9e8fd255e"
      unitRef="usd">0</us-gaap:PaymentsForRestructuring>
    <us-gaap:PaymentsForRestructuring
      contextRef="i38cd5a7836bd4023867cd8ed3e14feed_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMy0zLTEtMS0xMTI4ODk_4ce14a98-dfc5-454f-9a0c-4766b57f69c7"
      unitRef="usd">63000</us-gaap:PaymentsForRestructuring>
    <us-gaap:PaymentsForRestructuring
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfMy0xMS0xLTEtMTEyODg5_19e2b585-4820-4dc6-9037-a36cc9b33e4c"
      unitRef="usd">1778000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="i5741ed4afdeb4572a757cfa071739f4e_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNS0xLTEtMS0xMTI4ODk_50771e4e-0388-43d9-ab20-73e2297eaf0a"
      unitRef="usd">0</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="i8ca442f49dd4434c98f14186852a6786_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNS0zLTEtMS0xMjY5MzY_e37df95e-a117-4935-9b4b-f6405eb47f6b"
      unitRef="usd">295000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="i38cd5a7836bd4023867cd8ed3e14feed_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNS0zLTEtMS0xMTI4ODk_9238bfae-5400-4881-bef5-c7d19e6cca8c"
      unitRef="usd">17000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserveSettledWithoutCash2
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNS0xMS0xLTEtMTEyODg5_62f78706-b343-4473-a293-70c05098b44e"
      unitRef="usd">312000</us-gaap:RestructuringReserveSettledWithoutCash2>
    <us-gaap:RestructuringReserve
      contextRef="i624cb88d2a574ddda3171d47d7625d5d_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNi0xLTEtMS0xMTI4ODk_6f189c24-53e1-4159-bcbc-2a4c18ba851b"
      unitRef="usd">376000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i787fdfa2b0ec4cb294eb6a87e1cf9bc6_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNi0zLTEtMS0xMjY5MzY_99fae261-fa5c-4e55-beed-68d978923968"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i10a3eef303f349e3ac798f4d3a8a7c71_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNi0zLTEtMS0xMTI4ODk_b4895655-4064-45df-9f08-0d8d860819d1"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81Mi9mcmFnOmI3Y2NlMGQ3MDY2YzQwOTdhMTNjMzMwYzI0MzhjYzVmL3RhYmxlOmNiMTljZmI3M2E5NDRiNDc4ZGQ0OTk4NzQzNTQ1ZWQ0L3RhYmxlcmFuZ2U6Y2IxOWNmYjczYTk0NGI0NzhkZDQ5OTg3NDM1NDVlZDRfNi0xMS0xLTEtMTEyODg5_419453bb-0ada-4101-99f3-085aeedd37c3"
      unitRef="usd">376000</us-gaap:RestructuringReserve>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjIzNA_2a8ba842-03d0-451a-9f55-9de51d35d9af">Fair Value and Derivative Instruments&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three months ended April&#160;1, 2023 or the year ended December&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;No changes were made to our valuation techniques during the first three months of fiscal 2023.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Assets and Liabilities Measured at Fair Value on a Recurring Basis&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands):&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.332%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25.75pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;49,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;U.S. treasuries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;Certificates of deposit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;U.S. agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;13,062&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;13,062&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7.75pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;98,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;123,891&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign exchange derivative contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Promissory note receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Interest rate swap derivative contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,041&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,041&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;69,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;106,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;176,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Interest rate swap derivative contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.332%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;U.S. agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,965&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;U.S. treasuries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Certificates of deposit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;706&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;706&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;U.S. agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,045&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,045&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;67,396&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;67,396&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;103,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;129,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign exchange derivative contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Promissory note receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Interest rate swap derivative contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46,298&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;112,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;160,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign exchange derivative contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(193)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(193)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(193)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(193)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash Equivalents &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of our cash equivalents is determined based on quoted market prices for similar or identical securities. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Marketable Securities &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We classify our marketable securities as available-for-sale and value them utilizing a market approach. Our investments are &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;priced by pricing vendors who provide observable inputs for their pricing without applying significant judgment. Broker pricing is used mainly when a quoted price is not available, the investment is not priced by our pricing vendors or when a broker price is more reflective of fair value. Our broker-priced investments are categorized as Level 2 investments because fair value is based on similar assets without applying significant judgments. In addition, all investments have a sufficient trading volume to demonstrate that the fair value is appropriate.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unrealized gains and losses were immaterial and were recorded as a component of Accumulated other comprehensive loss in our Condensed Consolidated Balance Sheets. We did not have any other-than-temporary unrealized gains or losses at either period end included in these financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Interest Rate Swaps &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of our interest rate swap contracts is determined at the end of each reporting period based on valuation models that use interest rate yield curves as inputs. For accounting purposes, our interest rate swap contracts qualify for, and are designated as, cash flow hedges. The cash flows associated with the interest rate swaps are reported in Net cash provided by operating activities in our Condensed Consolidated Statements of Cash Flows and the fair value of the interest rate swap contracts are recorded within Prepaid expenses and other current assets and Other assets in our Condensed Consolidated Balance Sheets. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Foreign Exchange Derivative Contracts&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We operate and sell our products in various global markets. As a result, we are exposed to changes in foreign currency exchange rates. We utilize foreign currency forward contracts to hedge against future movements in foreign exchange rates that affect certain existing foreign currency denominated assets and liabilities and forecasted foreign currency revenue and expense transactions. Under this program, our strategy is to have increases or decreases in our foreign currency exposures mitigated by gains or losses on the foreign currency forward contracts in order to mitigate the risks and volatility associated with foreign currency transaction gains or losses. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We do not use derivative financial instruments for speculative or trading purposes. For accounting purposes, certain of our foreign currency forward contracts are not designated as hedging instruments and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded within Other income, net in our Condensed Consolidated Statement of Income for both realized and unrealized gains and losses. Certain of our foreign currency forward contracts are designated as cash flow hedges, and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded as a component of Accumulated other comprehensive loss and reclassified into earnings in the same period in which the hedged transaction affects earnings, and in the same line item on the Condensed Consolidated Statements of Income as the impact of the hedge transaction. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of our foreign exchange derivative contracts was determined based on current foreign currency exchange rates and forward points. All of our foreign exchange derivative contracts outstanding at April&#160;1, 2023 will mature by the first quarter of fiscal 2024.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides information about our foreign currency forward contracts outstanding as of April&#160;1, 2023 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.601%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.231%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Currency&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Contract Position&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Contract Amount&lt;br/&gt;(Local Currency)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Contract Amount&lt;br/&gt;(U.S. Dollars)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Euro Dollar&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Buy&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;23,004&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Euro Dollar&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Sell&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Japanese Yen&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Sell&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,227,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,377&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Korean Won&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Buy&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,751,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,355&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Taiwan Dollar&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Sell&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;43,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our foreign currency contracts are classified within Level 2 of the fair value hierarchy as they are valued using pricing models that utilize observable market inputs.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business &lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;acquisition. Other than as discussed in Note 6,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Restructuring Charges, &lt;/span&gt;there were no assets or liabilities measured at fair value on a nonrecurring basis during the three months ended April&#160;1, 2023 or March&#160;26, 2022.</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjIzNg_dccaf126-6d6c-4e24-af5c-b787fcfc74b5">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three months ended April&#160;1, 2023 or the year ended December&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;No changes were made to our valuation techniques during the first three months of fiscal 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business &lt;/span&gt;&lt;/div&gt;acquisition.</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjIzMA_794d339e-6224-426b-ad5a-dc853ce52628">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands):&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.332%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25.75pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;49,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;U.S. treasuries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;Certificates of deposit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;U.S. agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;13,062&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;13,062&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7.75pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;98,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;123,891&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign exchange derivative contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Promissory note receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Interest rate swap derivative contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,041&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,041&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;69,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;106,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;176,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Interest rate swap derivative contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.332%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;U.S. agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,965&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Marketable securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;U.S. treasuries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Certificates of deposit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;706&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;706&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;U.S. agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,045&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,045&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;67,396&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;67,396&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;103,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;129,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign exchange derivative contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Promissory note receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Interest rate swap derivative contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46,298&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;112,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;160,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign exchange derivative contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(193)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(193)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(193)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(193)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ife40b8f8d84c40d9a9439e2507afbc7f_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMy0yLTEtMS0xMTI4ODk_a8d1cd4e-f515-4c31-b173-ef4316b72b24"
      unitRef="usd">44777000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="iab7600f13b314f11a788b6676167b53c_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMy00LTEtMS0xMTI4ODk_4d72be9c-e389-45ed-bcc7-fee7ee95677a"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i1080e798dfe8400eb94109b03ea7fc42_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMy02LTEtMS0xMTI4ODk_08767f8d-36c2-44f7-b747-82b32cbd4e98"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i4f31725f0be04f03a175254c002b7d23_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMy04LTEtMS0xMTI4ODk_60b56808-47c9-42ef-8204-a0a5df382190"
      unitRef="usd">44777000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie3413906e19642a5858c5191b2b63908_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfNC0yLTEtMS0xMTI4ODk_7417f26f-9dac-4c70-a9ed-cf58e91796c7"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ia981d433bb9f4092a5ca4f8406dd9a71_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfNC00LTEtMS0xMTI4ODk_a459297d-9302-41f8-b16c-49e9bbad296a"
      unitRef="usd">4475000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ifba4d8a09a2d47bab2f39ccc161c350b_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfNC02LTEtMS0xMTI4ODk_e4e7a36c-1f25-4d64-9963-96c2d294e68f"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ib6befc7f521648b99a1d82bb45b1ebe7_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfNC04LTEtMS0xMTI4ODk_b4113513-c46d-4f0a-9015-6cb4109db348"
      unitRef="usd">4475000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ifb0565ca70f14d0e8b8c8a3d7718daab_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfOC0yLTEtMS0xMTI4ODk_7d2def8c-9db5-4a8c-b729-fb1987ba86a5"
      unitRef="usd">44777000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ib0eef226bd654c78bf439fbe7ca07d63_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfOC00LTEtMS0xMTI4ODk_838ad00a-9d9c-4a8b-a10c-504e684b095d"
      unitRef="usd">4475000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i0dd333b3406a4c45816beefd9e569642_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfOC02LTEtMS0xMTI4ODk_9d1aa32f-c858-4d77-aff3-36dd19d55429"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfOC04LTEtMS0xMTI4ODk_cf70ecaa-3408-4e05-a503-b415ddc9fcc3"
      unitRef="usd">49252000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:MarketableSecurities
      contextRef="if3454759c82b44788f2719d6665d2872_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTEtMi0xLTEtMTEyODg5_31cfe3ee-90bb-4b48-baf1-382be86e64b6"
      unitRef="usd">25144000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ida308296e39b41f4a0a9face207fffd7_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTEtNC0xLTEtMTEyODg5_91d28bba-7aaa-4403-9225-79c99d68a652"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i40052b5383e04037bde48706a08e94e0_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTEtNi0xLTEtMTEyODg5_861c106b-b757-4380-9e30-fe81472b8c46"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ic09f446075e24fcfa16080d0ef2882ae_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTEtOC0xLTEtMTEyODg5_66fb379e-1ead-4528-b38a-ef2054381466"
      unitRef="usd">25144000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i176cf6f878f04ac18bd260217fc27a90_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTQtMi0xLTEtMTEyODg5_77d77e6d-dd31-4240-a244-cf67bdbb12fb"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i508295e68ab545a0874a470a4d0f33f1_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTQtNC0xLTEtMTEyODg5_c0d07511-dec3-4781-9ebd-f2fead2155f3"
      unitRef="usd">471000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ib6f7c6d4e44b49278a0e770aaa6e050e_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTQtNi0xLTEtMTEyODg5_cb3eb585-0a9a-42ce-98f3-e198c67f80a8"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i480bb9bb91474eaf8a83473d05b7d720_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTQtOC0xLTEtMTEyODg5_8c3ed60f-670c-420e-8321-877f68485b46"
      unitRef="usd">471000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="iea31b6e9335d402f9de79f1a8c1a125a_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTMtMi0xLTEtMTEyODg5_f431bd10-ca45-4627-9e93-b2e67f4538c6"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i41da4f1302744839b874b0fdc51c6043_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTMtNC0xLTEtMTEyODg5_49d37aad-fc9b-49e0-9728-bab3db03b174"
      unitRef="usd">13062000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i8ff3a246c4c7407e9c0da35fb1c6c7fc_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTMtNi0xLTEtMTEyODg5_f6f9a5fc-e13d-4990-ae56-5d92277a38de"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i7f394b5e9cb443c682915536205dc94f_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTMtOC0xLTEtMTEyODg5_908be7fc-7eae-40df-b788-371925b4bb58"
      unitRef="usd">13062000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i07766960d02642bf99185ace9e2b35de_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTAtMi0xLTEtMTEyODg5_1b3f604e-f64c-4c9f-b4b4-920f56780814"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i5bf79e8f81f14e56aef89484bfb7c321_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTAtNC0xLTEtMTEyODg5_82984f5d-910c-4d3b-ac49-63318b67ffcf"
      unitRef="usd">53899000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ia6b87f2c9cb9421ab60ad6878bc0bc59_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTAtNi0xLTEtMTEyODg5_faca9f1f-3f33-471f-b518-5a29563ee733"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ib94b7836bd464128b4bcc435a161dcf6_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTAtOC0xLTEtMTEyODg5_8e9619ba-4060-465e-969e-c919272da291"
      unitRef="usd">53899000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ie3413906e19642a5858c5191b2b63908_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTItMi0xLTEtMTEyODg5_efca5a36-3857-4d14-8ec1-216ce3529439"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ia981d433bb9f4092a5ca4f8406dd9a71_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTItNC0xLTEtMTEyODg5_1162e90a-8db0-40e5-979b-512c62939e6a"
      unitRef="usd">31315000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ifba4d8a09a2d47bab2f39ccc161c350b_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTItNi0xLTEtMTEyODg5_2bc41e98-dc88-43d9-b769-4b8cc4df0e21"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ib6befc7f521648b99a1d82bb45b1ebe7_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTItOC0xLTEtMTEyODg5_d80ad7b0-fd85-4012-995a-327bfbce188b"
      unitRef="usd">31315000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ifb0565ca70f14d0e8b8c8a3d7718daab_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTUtMi0xLTEtMTEyODg5_c56c391c-555f-40a6-a704-634b6887988b"
      unitRef="usd">25144000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ib0eef226bd654c78bf439fbe7ca07d63_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTUtNC0xLTEtMTEyODg5_9b070458-96d3-4a22-bbb6-6edf833b9e08"
      unitRef="usd">98747000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i0dd333b3406a4c45816beefd9e569642_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTUtNi0xLTEtMTEyODg5_ae9c0eaa-1cfb-441f-b225-b977bd11921d"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTUtOC0xLTEtMTEyODg5_6a3ae4ec-8241-4ea1-a53a-7356451b9c8b"
      unitRef="usd">123891000</us-gaap:MarketableSecurities>
    <us-gaap:DerivativeAssets
      contextRef="i7ddc0fd0c9004b4ebc0e2bb242e85493_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTYtMi0xLTEtMTEyODg5_d934db77-ab3d-48d8-a8f0-2cf241e75418"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i0a8c48baa5d24637a43822b5d6759470_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTYtNC0xLTEtMTEyODg5_2e7d7d4f-a713-415a-9086-f4df1f24cc69"
      unitRef="usd">763000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i3238691572e145dda167fbeaa4eb48ae_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTYtNi0xLTEtMTEyODg5_bf9267b2-79d8-4831-917d-99d8f2490047"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i5ae1e25c98c1453196222ca7265ce94a_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTYtOC0xLTEtMTEyODg5_ee97e067-881e-4ec4-9dc9-ade1d590bce5"
      unitRef="usd">763000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i39761d51019d46a4b6d2b509efd1f0bf_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTctMi0xLTEtMTEyODg5_d61d9bd8-4519-4382-9f18-4baa33141ece"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ib3ef644f58084bcc8f58a2172b4b6cc4_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTctNC0xLTEtMTEyODg5_c31a3ce9-79c8-4587-b802-d076342232b9"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i7ff98d9067104644b1253c089ca7654a_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTctNi0xLTEtMTEyODg5_54a7e0f2-dd09-4dcd-86e1-c8c9718a3b9b"
      unitRef="usd">943000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i2c1ff0745dff4b80b4f3440028231035_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTctOC0xLTEtMTEyODg5_ce3d0f2f-af52-421e-9019-0917f435fa3a"
      unitRef="usd">943000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ibb27b9672dbb4ae3b3a5829a44f51a3b_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTgtMi0xLTEtMTEyODg5_64ac36cb-532d-47e9-8a28-b9073f1b76ff"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="icecde2b3e4c742d7a04fdbcb684b034e_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTgtNC0xLTEtMTEyODg5_32447a4e-4be0-448d-84f1-3b3febe1c768"
      unitRef="usd">2041000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="idb9665c0fece478cb7334108983b6aed_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTgtNi0xLTEtMTEyODg5_7b6e1030-a553-4a83-b160-e8499b624801"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="iaf8dae5fd10744d4a895de0ddfea3300_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTgtOC0xLTEtMTEyODg5_771ae82c-eae8-4aeb-a48a-ed94204675ff"
      unitRef="usd">2041000</us-gaap:DerivativeAssets>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ifb0565ca70f14d0e8b8c8a3d7718daab_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTktMi0xLTEtMTEyODg5_1d231f9f-5c18-4934-8363-bafd7a1492fc"
      unitRef="usd">69921000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ib0eef226bd654c78bf439fbe7ca07d63_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTktNC0xLTEtMTEyODg5_86781188-903f-4c68-baf1-cd9a6dfaa9cb"
      unitRef="usd">106026000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i0dd333b3406a4c45816beefd9e569642_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTktNi0xLTEtMTEyODg5_bfd681d9-0c59-460c-8a02-4eaee9a5ba4c"
      unitRef="usd">943000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMTktOC0xLTEtMTEyODg5_29ae5964-796d-4e01-88f0-86786090527a"
      unitRef="usd">176890000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:DerivativeLiabilities
      contextRef="ibb27b9672dbb4ae3b3a5829a44f51a3b_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjItMi0xLTEtMTEyODg5_ba742bfc-1e20-41e5-96cf-4b215e172bbc"
      unitRef="usd">0</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="icecde2b3e4c742d7a04fdbcb684b034e_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjItNC0xLTEtMTEyODg5_7a1a29ae-4599-4dbf-93cb-65cdb6c4fe91"
      unitRef="usd">2000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="idb9665c0fece478cb7334108983b6aed_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjItNi0xLTEtMTEyODg5_7aa36b6a-bc98-4669-9493-d8f73227ac3f"
      unitRef="usd">0</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="iaf8dae5fd10744d4a895de0ddfea3300_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjItOC0xLTEtMTEyODg5_59d696c9-1331-446c-8c80-d485b3155826"
      unitRef="usd">2000</us-gaap:DerivativeLiabilities>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="ifb0565ca70f14d0e8b8c8a3d7718daab_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjQtMi0xLTEtMTEyODg5_82fb1a9b-6d25-4447-acd5-aedc4bfd1e86"
      unitRef="usd">0</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="ib0eef226bd654c78bf439fbe7ca07d63_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjQtNC0xLTEtMTEyODg5_a9c1ae6b-457d-4265-8411-0d02877fa6bf"
      unitRef="usd">2000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i0dd333b3406a4c45816beefd9e569642_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjQtNi0xLTEtMTEyODg5_2c43a964-d115-4667-bf11-aa399e3788e3"
      unitRef="usd">0</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmY1MmQ0YTBiMGUxZDQ0NjM4NTc4NjI5NjY3ZDFmNmRmL3RhYmxlcmFuZ2U6ZjUyZDRhMGIwZTFkNDQ2Mzg1Nzg2Mjk2NjdkMWY2ZGZfMjQtOC0xLTEtMTEyODg5_a5015fdd-8e0b-4f1d-b585-0807200f6ee8"
      unitRef="usd">2000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie181d3dc8223465ab7d1999c61457d95_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMy0yLTEtMS0xMTI4ODk_5fec4d2a-5ecc-415d-83e1-efbc50968e66"
      unitRef="usd">21279000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i4d3acfd9682f47f7943fce76e6964b5f_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMy00LTEtMS0xMTI4ODk_12a13856-4037-4a09-94d3-1ab0e9372bb8"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i366643d3681d4dd6a3eec21ccbbd16d6_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMy02LTEtMS0xMTI4ODk_e19bbc00-edf9-4a40-9b28-06c85ca47014"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="iaba339810fc34fddb07a062f553101c6_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMy04LTEtMS0xMTI4ODk_fce9d67b-7d4c-460c-84d7-42f478ab8441"
      unitRef="usd">21279000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i3ccdae7bf0db4ed4a821fb9c8a7f3f4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNi0yLTEtMS0xMTI4ODk_e5f57951-482b-406b-9cd6-1513a5f7d967"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i5cd1c8b73232406080f35aa64aeb11de_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNi00LTEtMS0xMTI4ODk_d85e728e-1e91-4625-bd9d-961754f50769"
      unitRef="usd">4969000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i14ca5a1381b0410b83c743d6086e7dc8_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNi02LTEtMS0xMTI4ODk_a5da7f0c-d1f3-4030-b3e9-0539be12a4dc"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ia48acc1c15424756a4ded0aaf6ca95c0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNi04LTEtMS0xMTI4ODk_7deb8a8f-d9d5-4049-a0a1-ac9c7d335cca"
      unitRef="usd">4969000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ied84933b5c6e4b6db8c9100b55a05c32_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNC0yLTEtMS0xMTI4ODk_1a9debaa-eb8e-4a1f-a7e1-39a9878db973"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="iae766829b1a042c0b996e56d78695045_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNC00LTEtMS0xMTI4ODk_d0df0ef7-c97c-466c-97ee-218a529bdd57"
      unitRef="usd">996000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ib3cef90ac2e4401eba541a22161e2170_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNC02LTEtMS0xMTI4ODk_7800e4b7-f4a8-4d9e-8e1a-47946e47f351"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="id98e2212c5af4575b3b51a696e7c628a_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNC04LTEtMS0xMTI4ODk_f628facc-c037-4ef3-bee1-8eba8d0733bf"
      unitRef="usd">996000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i9c2a8c2f3d4d4fb58c33ce5be929408c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNy0yLTEtMS0xMTI4ODk_4ebfafff-6df1-46fc-8122-464ac271d468"
      unitRef="usd">21279000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i8e2a621b154243888daa2aa002f53ca9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNy00LTEtMS0xMTI4ODk_bb4d1ff7-eaa0-4b97-9f02-f194e19fa884"
      unitRef="usd">5965000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ic26b161159f242d68023e5087a505d6b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNy02LTEtMS0xMTI4ODk_46c9755a-00e1-49da-98a5-d9cf2c4dca84"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfNy04LTEtMS0xMTI4ODk_52cbc76a-cd13-4927-adfd-8d8f72c7d8c0"
      unitRef="usd">27244000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:MarketableSecurities
      contextRef="i0c8ad60d3f1a4126bb3d1971e8a6d90a_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTAtMi0xLTEtMTEyODg5_91ca46a3-9ac4-400d-bf36-f882704edfc6"
      unitRef="usd">25019000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="id364050ee17f49b9ab9d5e5df5b3a1a1_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTAtNC0xLTEtMTEyODg5_9fa80afc-7f7e-466f-8b98-935d9b0494e5"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i0af4b18e6a314030bd2ca1d48cd4a5f1_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTAtNi0xLTEtMTEyODg5_90ad766c-9900-4271-8389-f54d964f95ed"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i074633dbcb4742fba89bc02c9f5d868f_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTAtOC0xLTEtMTEyODg5_95e828c6-7b63-4b27-8006-7e0ae06d45f9"
      unitRef="usd">25019000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i1df6d46d3af34559bffc71ca077ef343_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTMtMi0xLTEtMTEyODg5_fe448627-a7da-4383-8753-348e8788af8d"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ie48b4fbf076643b1bffda4cd03851427_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTMtNC0xLTEtMTEyODg5_02141d6a-c69a-4f8d-9ecf-5218f8698f0a"
      unitRef="usd">706000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i49c681e1710d488799400cf8fe610e36_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTMtNi0xLTEtMTEyODg5_45bd0d6e-3755-4a44-8abc-60e413a10c92"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="id8871384e6e84259b0ccef13d2423c7d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTMtOC0xLTEtMTEyODg5_2bebe49c-f30c-493c-8cc1-fce27f6a0fbc"
      unitRef="usd">706000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ied84933b5c6e4b6db8c9100b55a05c32_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTEtMi0xLTEtMTEyODg5_8ac1cbd7-3aed-4445-a055-56cdbba2ac43"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="iae766829b1a042c0b996e56d78695045_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTEtNC0xLTEtMTEyODg5_358fda99-22a6-4b68-bfa6-0f9482f15338"
      unitRef="usd">11045000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ib3cef90ac2e4401eba541a22161e2170_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTEtNi0xLTEtMTEyODg5_26f98480-d8b7-4c23-85f3-257a0bc9497f"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="id98e2212c5af4575b3b51a696e7c628a_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTEtOC0xLTEtMTEyODg5_0f42f0e9-ddae-4907-9d86-c0e4dff8baa9"
      unitRef="usd">11045000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i74522995661c46ff8534b601fb3ca67e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfOS0yLTEtMS0xMTI4ODk_0faef4b2-f44d-41a8-94b1-9185511d9537"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i8a53d69f0106407da1c4c8d8b7c032b6_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfOS00LTEtMS0xMTI4ODk_3db1a508-6919-4713-ad00-fe80b35a2454"
      unitRef="usd">67396000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i1caf8c6376864d9fa26030540e34755e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfOS02LTEtMS0xMTI4ODk_2b6eea3c-d3f7-44d8-9aae-deec819f12b7"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="icbf177a663154204b8b7fd7fcff89aac_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfOS04LTEtMS0xMTI4ODk_8ae334a9-ade1-43ad-9191-9ea2f92672c1"
      unitRef="usd">67396000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i1861d1af33324770945d675a397b4d5d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTItMi0xLTEtMTEyODg5_97503821-1ba7-4bc5-9262-ae2148a69938"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ic275005a170445b0b100f03e761a9e87_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTItNC0xLTEtMTEyODg5_0280d702-c976-4f55-9321-f4ed37c45310"
      unitRef="usd">24840000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="id1ed78559ae54af791f0f502b636386e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTItNi0xLTEtMTEyODg5_c47534f8-738d-4eb1-a8fd-66f22c30de9d"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i6203915b3f6c4dceb9a11f4b38b4a544_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTItOC0xLTEtMTEyODg5_38493424-26db-4126-993e-50f10b18f7ce"
      unitRef="usd">24840000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i9c2a8c2f3d4d4fb58c33ce5be929408c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTQtMi0xLTEtMTEyODg5_e499103a-ab68-4686-b5a3-1b601ad71b3e"
      unitRef="usd">25019000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="i8e2a621b154243888daa2aa002f53ca9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTQtNC0xLTEtMTEyODg5_9185cb69-8e7e-44a1-9f78-46768410dd65"
      unitRef="usd">103987000</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="ic26b161159f242d68023e5087a505d6b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTQtNi0xLTEtMTEyODg5_965d6c96-c2bb-473a-9209-3d41b8f5e969"
      unitRef="usd">0</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTQtOC0xLTEtMTEyODg5_6e638189-77ea-4e18-b20e-9efb2b9e4701"
      unitRef="usd">129006000</us-gaap:MarketableSecurities>
    <us-gaap:DerivativeAssets
      contextRef="ifab97facca954d5287c6db708062786f_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTUtMi0xLTEtMTEyODg5_563217ed-282f-4bf0-a82f-68e04c62e009"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i671fc26c178541d998dfa44323f9450c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTUtNC0xLTEtMTEyODg5_4260da5b-e29a-4636-bcf4-b4ffd48f501f"
      unitRef="usd">664000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i7aeb4213ea1e471b81e73bcab5acccaa_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTUtNi0xLTEtMTEyODg5_4740bac8-fc55-4aea-a4b9-230e46a4b399"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="iebc8fe86f92c40cbb59a7f78ca22943e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTUtOC0xLTEtMTEyODg5_4c9d7a85-c0ca-4899-8a35-f8537b43b914"
      unitRef="usd">664000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="if1567c4519a94a5fb463ef22dde89ee4_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtMi0xLTEtMTEzNzMy_c4e9b0f0-df95-43cb-907c-f8fc14b3ac33"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i37788baf19a04af2b8e68a8ef4dcc6a6_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtNC0xLTEtMTEzNzMy_4152e266-d243-49c1-b9a4-b8cec8a7adf9"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="idafc892a85b141e2a02677c5f25f7ea7_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtNi0xLTEtMTEzNzMy_bf764b6e-d62f-457f-8e38-a823399b23f4"
      unitRef="usd">943000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i59d28ec1885a488d9fc20208342a931f_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtOC0xLTEtMTEzNzMy_a3444edb-ff76-40b7-a2e7-9eeeab0d55ec"
      unitRef="usd">943000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i3e2f60e324254677bec77af1e2eb3174_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtMi0xLTEtMTEyODg5_302f874a-73d7-421b-8d90-a136648ca5be"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ida3b54d2449c43ebbc2b85af835992fe_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtNC0xLTEtMTEyODg5_e6f1378e-e50b-440e-93a6-27d45c30d077"
      unitRef="usd">2374000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="i3f295ade2375424eab902435ed376056_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtNi0xLTEtMTEyODg5_e4bb7be8-5d71-4f0b-a9d8-d1b42250c5f7"
      unitRef="usd">0</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="ie5332f8b331f4fefa4517c233a78dad9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTYtOC0xLTEtMTEyODg5_f377306d-97f1-4c06-8e9a-373e93104985"
      unitRef="usd">2374000</us-gaap:DerivativeAssets>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i9c2a8c2f3d4d4fb58c33ce5be929408c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTctMi0xLTEtMTEyODg5_e55fa353-9da0-4037-b2ed-e3034955a60c"
      unitRef="usd">46298000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i8e2a621b154243888daa2aa002f53ca9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTctNC0xLTEtMTEyODg5_53dfb964-adf7-42ae-ba7e-c2cad3fbe982"
      unitRef="usd">112990000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ic26b161159f242d68023e5087a505d6b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTctNi0xLTEtMTEyODg5_259ae0e4-83bc-4c33-96d6-aba11c8774a1"
      unitRef="usd">943000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTctOC0xLTEtMTEyODg5_e6a97f0e-5748-4415-8665-5529fa959421"
      unitRef="usd">160231000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:DerivativeLiabilities
      contextRef="ifab97facca954d5287c6db708062786f_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTktMi0xLTEtMTEyODg5_5624cb87-16ae-473f-9275-62f84b302cd7"
      unitRef="usd">0</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="i671fc26c178541d998dfa44323f9450c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTktNC0xLTEtMTEyODg5_bc01b692-56ae-4fbf-8781-070b68c198ac"
      unitRef="usd">193000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="i7aeb4213ea1e471b81e73bcab5acccaa_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTktNi0xLTEtMTEyODg5_dfb550bb-9279-405d-a95b-44db34ca3a42"
      unitRef="usd">0</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="iebc8fe86f92c40cbb59a7f78ca22943e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMTktOC0xLTEtMTEyODg5_cb75c2f6-d3fe-468a-89ef-cfd9996eedd8"
      unitRef="usd">193000</us-gaap:DerivativeLiabilities>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i9c2a8c2f3d4d4fb58c33ce5be929408c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMjEtMi0xLTEtMTEyODg5_0a051f9e-bf30-41e2-a48f-65277f0c7bc3"
      unitRef="usd">0</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i8e2a621b154243888daa2aa002f53ca9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMjEtNC0xLTEtMTEyODg5_8d12e2a3-efa8-499b-a9c0-b6b70641e0a5"
      unitRef="usd">193000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="ic26b161159f242d68023e5087a505d6b_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMjEtNi0xLTEtMTEyODg5_32d8156d-2acb-4a14-8f35-4b2dcad369d9"
      unitRef="usd">0</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOjI1YzU5MWVhYTI3YTQwNGI5MmRhMzhlYzZkNjQwNmNhL3RhYmxlcmFuZ2U6MjVjNTkxZWFhMjdhNDA0YjkyZGEzOGVjNmQ2NDA2Y2FfMjEtOC0xLTEtMTEyODg5_370a3cd3-075d-4788-aa22-3eff4121034d"
      unitRef="usd">193000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjIxNQ_aebd7aae-eefa-4c05-9b80-d8221c0c9f68">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides information about our foreign currency forward contracts outstanding as of April&#160;1, 2023 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:54.601%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.231%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Currency&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Contract Position&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Contract Amount&lt;br/&gt;(Local Currency)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Contract Amount&lt;br/&gt;(U.S. Dollars)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Euro Dollar&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Buy&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;23,004&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Euro Dollar&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Sell&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Japanese Yen&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Sell&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,227,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,377&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Korean Won&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Buy&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,751,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,355&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Taiwan Dollar&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Sell&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;43,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i6d38e8f69b6149ba93fca93c6b09a6a1_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfMS00LTEtMS0xMTI4ODk_a61ad18a-9701-4022-98e5-9a9465ebec33"
      unitRef="eur">23004000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i6d38e8f69b6149ba93fca93c6b09a6a1_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfMS02LTEtMS0xMTI4ODk_ce34f609-b2c4-48d9-9bfc-8069382a71bf"
      unitRef="usd">24250000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i2fbc4cfcc181400e91016116c4bde454_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfMi00LTEtMS0xMTI4ODk_841910ca-a5e7-4596-8dd3-1ed620153ae0"
      unitRef="eur">2356000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i2fbc4cfcc181400e91016116c4bde454_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfMi02LTEtMS0xMTI4ODk_021dc89b-e73b-4b01-8449-75f2544ce269"
      unitRef="usd">2472000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i49a018e6a4c343a3ab446e5a98f94612_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfMy00LTEtMS0xMTI4ODk_95f8fbb0-d03b-44cb-a173-a7f4db38d1cc"
      unitRef="jpy">3227282000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i49a018e6a4c343a3ab446e5a98f94612_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfMy02LTEtMS0xMTI4ODk_75128eba-4284-49ab-9c2c-dbc60fb4fd13"
      unitRef="usd">24377000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i2e4a579897f84901adb30aeb819f62d7_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfNC00LTEtMS0xMTI4ODk_a3340196-6f89-4d59-99d0-54770babc03f"
      unitRef="krw">1751490000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i2e4a579897f84901adb30aeb819f62d7_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfNC02LTEtMS0xMTI4ODk_49350e63-3131-43e7-80b6-0609601e8c4d"
      unitRef="usd">1355000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i2ba6960e0edc430c8f33dbe0efc00da0_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfNS00LTEtMS0xMTI4ODk_8c1bfa72-0d79-4746-b173-643574beb75f"
      unitRef="twd">43413000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i2ba6960e0edc430c8f33dbe0efc00da0_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RhYmxlOmVlYjBjMzIwMjFjMDRiYTFiODg2OTk0YjliYTBmZTg5L3RhYmxlcmFuZ2U6ZWViMGMzMjAyMWMwNGJhMWI4ODY5OTRiOWJhMGZlODlfNS02LTEtMS0xMTI4ODk_6aaae89f-80bd-4819-be64-84d8f9e83fa2"
      unitRef="usd">1435000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="id3ac28a910af449aaf7b0e5e090098ec_I20220326"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjA5Ng_05fca9be-30fa-4e80-a817-ac395ea8af9d"
      unitRef="usd">0</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i59e69ceb0cbf4e8081b2d6f4a653eb0c_I20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjA5Ng_11f90c20-4b3b-4dd9-8fe4-560c340b5c97"
      unitRef="usd">0</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i59e69ceb0cbf4e8081b2d6f4a653eb0c_I20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjA5Ng_aee23b29-8fe4-41ee-995a-ed5a9f3464b8"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="id3ac28a910af449aaf7b0e5e090098ec_I20220326"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81NS9mcmFnOjU5NTEwMGY3Y2UwYzRjZGU5ZTQ2MTNkYzFlMGMyNzI2L3RleHRyZWdpb246NTk1MTAwZjdjZTBjNGNkZTllNDYxM2RjMWUwYzI3MjZfNjA5Ng_e089a1c2-91ab-412b-b26a-acc2d24800f9"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:ProductWarrantyDisclosureTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RleHRyZWdpb246MDYwZjM4OTFhN2M2NGNiMmFlZWYzOWFkZDRjZGNlNWRfMTE3Ng_1413f80d-c995-46b1-ac4f-a2e98000bce3">Warranty&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We offer warranties on certain products and record a liability for the estimated future costs associated with warranty claims at the time revenue is recognized. The warranty liability is based upon historical experience and our estimate of the level of future costs. While we engage in product quality programs and processes, our warranty obligation is affected by product failure rates, material usage and service delivery costs. We regularly monitor product returns for warranty and maintain a reserve for the related expenses based upon our historical experience and any specifically identified failures. As we sell new products to our customers, we must exercise considerable judgment in estimating the expected failure rates. This estimating process is based on historical experience of similar products, as well as various other assumptions that we believe to be reasonable under the circumstances. We provide for the estimated cost of product warranties at the time revenue is recognized as a component of Cost of revenues in our Condensed Consolidated Statement of Income.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes in our warranty liability were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.022%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.329%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Balance at beginning of period&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,199&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accruals&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Settlements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,717)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,244)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Balance at end of period&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ProductWarrantyDisclosureTextBlock>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RleHRyZWdpb246MDYwZjM4OTFhN2M2NGNiMmFlZWYzOWFkZDRjZGNlNWRfMTE3Nw_9a15b341-1c30-4035-a094-7a16afcd4ff3">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes in our warranty liability were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.022%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.329%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Balance at beginning of period&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,199&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Accruals&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Settlements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,717)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(1,244)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Balance at end of period&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrual
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfMi0xLTEtMS0xMTI4ODk_b5f14d0e-e460-4416-a4ef-a20dc1ba5e7c"
      unitRef="usd">4199000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="idc0595bacd8744b39dc151edbaf37cf1_I20211225"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfMi0zLTEtMS0xMTI4ODk_fffd0ac2-375c-47ab-9ad2-c28f5b885e07"
      unitRef="usd">2805000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfMy0xLTEtMS0xMTI4ODk_db684bd8-c350-4924-86fc-184815a841dc"
      unitRef="usd">1390000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfMy0zLTEtMS0xMTI4ODk_55a0035e-5dad-45a6-a712-900ff4ec9a89"
      unitRef="usd">1214000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfNC0xLTEtMS0xMTI4ODk_eead270d-a747-4407-9ba9-bb59c8868fb6"
      unitRef="usd">1717000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfNC0zLTEtMS0xMTI4ODk_aa642b3e-0b76-45a0-8794-6102c52e8adf"
      unitRef="usd">1244000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrual
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfNS0xLTEtMS0xMTI4ODk_37d75983-3ce6-472d-a063-c8dd9d40352a"
      unitRef="usd">3872000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i1c7e9eef7e054827bb58ea39eb6688c0_I20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF81OC9mcmFnOjA2MGYzODkxYTdjNjRjYjJhZWVmMzlhZGQ0Y2RjZTVkL3RhYmxlOmEwNzA0ZTcxY2Y4MjRiZjJiMGJlZDk4NzBiYmI4OGVkL3RhYmxlcmFuZ2U6YTA3MDRlNzFjZjgyNGJmMmIwYmVkOTg3MGJiYjg4ZWRfNS0zLTEtMS0xMTI4ODk_6249ce17-709f-4eaa-ad10-6968b9b2af10"
      unitRef="usd">2775000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RleHRyZWdpb246OWMyNTExMTAyMWRkNGE1YjhmZDgxZTVlNWFhZWYwMTJfMTMw_a4258539-7d4f-429e-8dc3-fb988134574b">Property, Plant and Equipment, net&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property, plant and equipment, net consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.022%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.329%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Land&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;17,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;17,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Building and building improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,932&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Machinery and equipment &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;280,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;276,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Computer equipment and software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46,568&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45,813&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Leasehold improvements &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;87,318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;86,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Sub-total &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;483,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;478,101&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less: Accumulated depreciation and amortization &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(342,763)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(335,711)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net, property, plant and equipment &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;141,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;142,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Construction-in-process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;47,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;198,232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;189,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RleHRyZWdpb246OWMyNTExMTAyMWRkNGE1YjhmZDgxZTVlNWFhZWYwMTJfMTMx_ed26074a-f911-40bb-baab-7a2b79b45b90">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property, plant and equipment, net consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.022%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.329%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Land&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;17,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;17,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Building and building improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,444&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,932&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Machinery and equipment &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;280,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;276,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Computer equipment and software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46,568&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45,813&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,540&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Leasehold improvements &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;87,318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;86,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Sub-total &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;483,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;478,101&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less: Accumulated depreciation and amortization &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(342,763)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(335,711)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net, property, plant and equipment &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;141,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;142,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Construction-in-process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;47,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;198,232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;189,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i122f71a531a74c46a864fcb01284946a_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMS0xLTEtMS0xMTI4ODk_17456740-a1b2-480f-a2a2-84ed83d0c44f"
      unitRef="usd">17136000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ie7f330b0337644829fd4d2e82b4e4d7e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMS0zLTEtMS0xMTI4ODk_7503c95d-8ece-4428-9164-484774c5e6d3"
      unitRef="usd">17136000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i7f530dc5b1a047ecaf421b114a9323a9_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMi0xLTEtMS0xMTI4ODk_afc596e5-994a-4e57-96ed-79ee278aad82"
      unitRef="usd">44444000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i8ebaa8f40e7f42d2b371e8962a3b2e69_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMi0zLTEtMS0xMTI4ODk_ecbdad30-807c-4174-bdc1-b6e732a97b3e"
      unitRef="usd">44932000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i24324c00724c40828bf5f5796827d533_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMy0xLTEtMS0xMTI4ODk_feea99ef-aa7f-489c-84cb-cee7cc7f5f2b"
      unitRef="usd">280936000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i52276040d73e4304b55892f6a81375fe_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMy0zLTEtMS0xMTI4ODk_5452ba40-7013-4b02-8bfd-6bf030902cd7"
      unitRef="usd">276180000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ice55480cac0c4ae7b4b2c86241fc7cb6_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNC0xLTEtMS0xMTI4ODk_d193b30e-f5a5-4d64-8a24-cb2c40368753"
      unitRef="usd">46568000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i37402380ef974000b8550d7d8eab119c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNC0zLTEtMS0xMTI4ODk_749250bf-8a94-4cd4-9e12-79b8ce9ed61e"
      unitRef="usd">45813000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i202ada5ccffc4d82a1ea1ee8dd341a96_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNS0xLTEtMS0xMTI4ODk_556d8d93-c9c9-4d7d-95e1-fc25ab7ea7c5"
      unitRef="usd">7481000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i9da1affa9e5548d69cf0481b7b379a93_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNS0zLTEtMS0xMTI4ODk_29162c2a-a4e2-4e25-a634-aeb31d28e4c7"
      unitRef="usd">7540000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i4c735d093af34507bda41e58775c7890_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNi0xLTEtMS0xMTI4ODk_8ca2d040-8b59-4669-8c91-f45041c96a0b"
      unitRef="usd">87318000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i495dbf122da84560a0d4d4a0f015c566_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNi0zLTEtMS0xMTI4ODk_3303dbd4-fd31-4db8-89a7-a330891b505f"
      unitRef="usd">86500000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNy0xLTEtMS0xMTI4ODk_92389b7d-c4d7-44a7-bd5d-844cb2e9222c"
      unitRef="usd">483883000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfNy0zLTEtMS0xMTI4ODk_c34e8b22-7d48-4ab2-b22e-d2061b407d04"
      unitRef="usd">478101000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfOC0xLTEtMS0xMTI4ODk_f6ec2e8d-c976-4db4-9cfb-5b644f9a487b"
      unitRef="usd">342763000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfOC0zLTEtMS0xMTI4ODk_26064068-5c36-481e-af97-f5dcd3db5c0e"
      unitRef="usd">335711000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <form:PropertyPlantAndEquipmentNetExcludesConstructionInProgress
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfOS0xLTEtMS0xMTI4ODk_f1ae8bd7-0b29-4e4f-8d69-6e97892533bd"
      unitRef="usd">141120000</form:PropertyPlantAndEquipmentNetExcludesConstructionInProgress>
    <form:PropertyPlantAndEquipmentNetExcludesConstructionInProgress
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfOS0zLTEtMS0xMTI4ODk_7b863fee-1485-4d21-a636-8e5ed69b1329"
      unitRef="usd">142390000</form:PropertyPlantAndEquipmentNetExcludesConstructionInProgress>
    <us-gaap:ConstructionInProgressGross
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMTAtMS0xLTEtMTEyODg5_6b057fab-8d6d-4d99-8d0d-d9ea7c533fa3"
      unitRef="usd">57112000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMTAtMy0xLTEtMTEyODg5_f92186ab-e7a6-4764-b2cf-b670816ab6b2"
      unitRef="usd">47458000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMTEtMS0xLTEtMTEyODg5_6f4e3751-dc61-4e5d-b469-0dfb197a18b5"
      unitRef="usd">198232000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82MS9mcmFnOjljMjUxMTEwMjFkZDRhNWI4ZmQ4MWU1ZTVhYWVmMDEyL3RhYmxlOjg0MmZmYWYwYWUzMjQyYWY5NjYxYmZhNGE2NWQ5MzU1L3RhYmxlcmFuZ2U6ODQyZmZhZjBhZTMyNDJhZjk2NjFiZmE0YTY1ZDkzNTVfMTEtMy0xLTEtMTEyODg5_b11aac8f-7bde-4ecd-bd46-8efbf00958cb"
      unitRef="usd">189848000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMjc2OA_86cbd6ea-6671-45ae-89f8-5899e1fbaf0a">Stockholders&#x2019; Equity and Stock-Based Compensation&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Common Stock Repurchase Programs&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On October 26, 2020, our Board of Directors authorized a two-year program to repurchase up to $50&#160;million of outstanding common stock to offset potential dilution from issuances of common stock under our stock-based compensation programs. During the three months ended March&#160;26, 2022, we repurchased 240,548 shares of common stock for $9.4&#160;million. We utilized the remaining funds available for repurchase under this program during fiscal 2022. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 20, 2022, our Board of Directors authorized an additional program to repurchase up to $75&#160;million of outstanding common stock, also with the primary purpose to offset potential dilution from issuances of common stock under our stock-based compensation programs. The share repurchase program will expire on May 20, 2024. During the three months ended April&#160;1, 2023, we did not repurchase any common stock. As of April&#160;1, 2023, $18.6 million remained available for future repurchases.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our policy related to repurchases of our common stock is to charge the excess of cost over par value to additional paid-in capital once the shares are retired. All repurchases were made in compliance with Rule 10b-18 under the Securities Exchange Act of 1934, as amended.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock unit (&#x201c;RSU&#x201d;) activity under our equity incentive plan was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.835%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.422%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted Average Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;RSUs at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,227,081&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Awards granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;79,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25.51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Awards vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(30,751)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Awards forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(82,523)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;RSUs at April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,192,827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34.94&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Performance Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We may grant Performance RSUs (&#x201c;PRSUs&#x201d;) to certain executives, which vest based upon us achieving certain market performance criteria. There were no market based PRSUs granted during the three months ended April&#160;1, 2023. PRSUs are included as part of the RSU activity above. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Employee Stock Purchase Plan &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Information related to activity under our Employee Stock Purchase Plan (&#x201c;ESPP&#x201d;) was as follows: &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.209%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.007%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Shares issued&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;210,055&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Weighted average per share purchase price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;23.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Weighted average per share discount from the fair value of our common stock on the date of issuance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(4.22)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.544%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cost of revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,986&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,290&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,520&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Unrecognized Compensation Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At April&#160;1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands):&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.544%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrecognized Expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Average Expected&lt;br/&gt;Recognition Period&lt;br/&gt;in Years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;39,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1.98&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1.86&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Employee stock purchase plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;985&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.33&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total unrecognized stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1.93&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i646de1cf07874f1ab881cc71b4ca6e7d_I20201026"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMTkz_1d9ff2cf-8e97-4362-ae02-30ca67e9cfbd"
      unitRef="usd">50000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="i5118bbc761e6489baea324354ed450ca_D20211226-20220326"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMjE5OTAyMzI2MDU2NA_39f226cf-1562-4995-aead-f140815f780e"
      unitRef="shares">240548</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="i5118bbc761e6489baea324354ed450ca_D20211226-20220326"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMjE5OTAyMzI2MDU5Ng_cc23d180-c303-4901-9905-ec502e641827"
      unitRef="usd">9400000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i925f8dacc0a04f4687d9b44fbf42ba92_I20220520"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfNjUx_a2a2aab5-7fea-48b1-99ce-332b1b5f5307"
      unitRef="usd">75000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="if5c8b70c14064d7994936b0d60e7d783_D20230101-20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMTY0OTI2NzQ0OTU2MA_7194dd65-207e-4c82-b01a-5d4bb480535b"
      unitRef="shares">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
      contextRef="i053f8d96437a49d38ba58041a9af7cab_I20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfNTQ5NzU1ODE3MTQy_6aa5d0aa-d5d2-4ca3-93f5-8a0eb41c8442"
      unitRef="usd">18600000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMjc5Nw_3a824ef8-f7c6-4de4-9db2-e6108375f1ad">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock unit (&#x201c;RSU&#x201d;) activity under our equity incentive plan was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.835%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.422%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted Average Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;RSUs at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,227,081&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Awards granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;79,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25.51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Awards vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(30,751)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Awards forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(82,523)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;RSUs at April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,192,827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34.94&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i0a8f8e03f06649dfa412b9a69e5145c8_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfMS0xLTEtMS0xMTI4ODk_c7f8b308-e9e3-4fb7-bbfe-9f8510e87cb1"
      unitRef="shares">2227081</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i0a8f8e03f06649dfa412b9a69e5145c8_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfMS0zLTEtMS0xMTI4ODk_e507c958-b253-4eeb-8bf8-98356fa00560"
      unitRef="usdPerShare">35.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ie184a8a9cf614c99831bbbc704fcff86_D20230101-20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfMi0xLTEtMS0xMTI4ODk_64452074-b48d-49b4-b1de-440b61f97b63"
      unitRef="shares">79020</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ie184a8a9cf614c99831bbbc704fcff86_D20230101-20230401"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfMi0zLTEtMS0xMTI4ODk_c70ca208-4b98-49b6-8522-5fbc86395b41"
      unitRef="usdPerShare">25.51</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ie184a8a9cf614c99831bbbc704fcff86_D20230101-20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfMy0xLTEtMS0xMTI4ODk_cedefcfd-81e1-465a-b037-4ee0c59fa099"
      unitRef="shares">30751</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="ie184a8a9cf614c99831bbbc704fcff86_D20230101-20230401"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfMy0zLTEtMS0xMTI4ODk_ff9e7907-aa97-49c0-9337-b34bfff8359e"
      unitRef="usdPerShare">34.87</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ie184a8a9cf614c99831bbbc704fcff86_D20230101-20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfNC0xLTEtMS0xMTI4ODk_e07a9952-3d31-4c96-a950-34ef2aa01009"
      unitRef="shares">82523</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="ie184a8a9cf614c99831bbbc704fcff86_D20230101-20230401"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfNC0zLTEtMS0xMTI4ODk_3e21f820-8dc5-4276-add4-271b9b8d8cd6"
      unitRef="usdPerShare">35.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i365caee2eb3f4ee4a1c11ea299db3b0b_I20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfNS0xLTEtMS0xMTI4ODk_7c26888d-0e44-4162-ae29-dabbb801e6a9"
      unitRef="shares">2192827</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i365caee2eb3f4ee4a1c11ea299db3b0b_I20230401"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmMwMzE4ZTg1OTk4YTRhODY5Y2Q0MDliMjdmNWFjMjQxL3RhYmxlcmFuZ2U6YzAzMThlODU5OThhNGE4NjljZDQwOWIyN2Y1YWMyNDFfNS0zLTEtMS0xMTI4ODk_f1a6d348-b139-47fb-8301-b379c8dab96c"
      unitRef="usdPerShare">34.94</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMjc4OQ_030d03f5-97f0-4ff9-a868-237bcec9f4a4">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Information related to activity under our Employee Stock Purchase Plan (&#x201c;ESPP&#x201d;) was as follows: &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.209%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.007%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Shares issued&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;210,055&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Weighted average per share purchase price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;23.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Weighted average per share discount from the fair value of our common stock on the date of issuance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(4.22)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i4e183f1cc7304786a98e8841b1ec31aa_D20230101-20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOjNiZWRiOGJkYzU4ZDRlYzNiNjliMjAyMTc5N2UwZmY4L3RhYmxlcmFuZ2U6M2JlZGI4YmRjNThkNGVjM2I2OWIyMDIxNzk3ZTBmZjhfMi0yLTEtMS0xMTI4ODk_a26865b2-69c2-422c-b60b-cd2a6bfca09b"
      unitRef="shares">210055</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="id4e84f7451d04e39abdf0b0d3a71f574_I20230401"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOjNiZWRiOGJkYzU4ZDRlYzNiNjliMjAyMTc5N2UwZmY4L3RhYmxlcmFuZ2U6M2JlZGI4YmRjNThkNGVjM2I2OWIyMDIxNzk3ZTBmZjhfMy0yLTEtMS0xMTI4ODk_242ed2a5-42e3-4e29-9e00-fcff9d6ffa21"
      unitRef="usdPerShare">23.92</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <form:WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock
      contextRef="i4e183f1cc7304786a98e8841b1ec31aa_D20230101-20230401"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOjNiZWRiOGJkYzU4ZDRlYzNiNjliMjAyMTc5N2UwZmY4L3RhYmxlcmFuZ2U6M2JlZGI4YmRjNThkNGVjM2I2OWIyMDIxNzk3ZTBmZjhfNC0yLTEtMS0xMTI4ODk_221c423b-8a13-4bfb-b626-d44e8e5c1f0a"
      unitRef="usdPerShare">-4.22</form:WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMjc3Ng_f95acbf0-3af4-415d-b56f-6c39488fdf22">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.544%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cost of revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,986&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,290&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,520&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i78b0bbf163f04290aa5a52fa5469e112_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfMi0xLTEtMS0xMTI4ODk_00bb5867-9d9c-481b-81d7-bcc9fb0cfb40"
      unitRef="usd">1910000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="if6dd5f1b0ef94564a4e3df06f5b2d467_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfMi0zLTEtMS0xMTI4ODk_07c7e34d-9f7d-49cd-b850-c07019905820"
      unitRef="usd">1078000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ib5fb47f1ee4a4d55acbda6cc986d0e2f_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfMy0xLTEtMS0xMTI4ODk_7a8bab2a-76ef-4be5-b885-b7ea7a53b10e"
      unitRef="usd">2372000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ic132082e7576428b9814f8d5ff660918_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfMy0zLTEtMS0xMTI4ODk_2fcd1f3d-15fa-45ff-a1f9-84f4d5d4f5dd"
      unitRef="usd">1986000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ifc9a948ca0a44616805210608e46d25f_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfNC0xLTEtMS0xMTI4ODk_afeb6180-db72-4bf7-bd26-ed16c7da3afc"
      unitRef="usd">5008000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0488de2642dd428e91439109c44b266c_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfNC0zLTEtMS0xMTI4ODk_5cb68681-2152-427e-babc-076f3712c478"
      unitRef="usd">4456000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfNS0xLTEtMS0xMTI4ODk_e9ad98ea-ebe3-4ae9-a01e-1ceb778c56c0"
      unitRef="usd">9290000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmNjZmVkYjA2ZTkwMDRhZWRiOTA1NzJiMTA5NzUyYjM0L3RhYmxlcmFuZ2U6Y2NmZWRiMDZlOTAwNGFlZGI5MDU3MmIxMDk3NTJiMzRfNS0zLTEtMS0xMTI4ODk_ac906770-3c02-4adf-abc6-7cfc2ec13d2f"
      unitRef="usd">7520000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RleHRyZWdpb246YThlNWEwNDIxOGZmNDI3ZDk2NmI2MTQxNGZlZmZjZTRfMjc3Nw_e6f3ee91-de6c-4a12-9528-a8044ef3b0ab">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At April&#160;1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands):&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.544%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrecognized Expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Average Expected&lt;br/&gt;Recognition Period&lt;br/&gt;in Years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;39,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1.98&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1.86&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Employee stock purchase plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;985&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.33&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total unrecognized stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1.93&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="ie94cc76b63e448eb9ca592a368742788_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfMS0xLTEtMS0xMTI4ODk_0cafa420-5b60-408d-8470-1a6eb9c39dd6"
      unitRef="usd">39761000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="ifb29402121114da68b9249062f7860fa_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfMS0zLTEtMS0xMTI4ODk_167b6bc4-1210-4997-bdc7-8cfdd28293fd">P1Y11M23D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="i8fe1555043044adfbd76cbf04c322f21_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfMi0xLTEtMS0xMTI4ODk_7029971b-b531-49db-b37b-252e0a4dbb75"
      unitRef="usd">9486000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i8b545e53fd134f64a9c0939aada3a34e_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfMi0zLTEtMS0xMTI4ODk_42cccb1f-9d49-4d89-9f24-9a31efe9da83">P1Y10M9D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="id4e84f7451d04e39abdf0b0d3a71f574_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfMy0xLTEtMS0xMTI4ODk_333a3978-c51b-4e34-a70b-6e6bd7bb86ad"
      unitRef="usd">985000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i4e183f1cc7304786a98e8841b1ec31aa_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfMy0zLTEtMS0xMTI4ODk_d9a4ba6b-5a26-4585-85a1-eb99b8373c03">P0Y3M29D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfNC0xLTEtMS0xMTI4ODk_92fb1f75-cfb0-4ffe-8a54-66bd525e9836"
      unitRef="usd">50232000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82NC9mcmFnOmE4ZTVhMDQyMThmZjQyN2Q5NjZiNjE0MTRmZWZmY2U0L3RhYmxlOmY3YTY2NzVkY2JlODQ0MDZhY2UxOTU2NTY3MThlNGIyL3RhYmxlcmFuZ2U6ZjdhNjY3NWRjYmU4NDQwNmFjZTE5NTY1NjcxOGU0YjJfNC0zLTEtMS0xMTI4ODk_159d1eb5-5f25-4f24-9a88-c0dd12ad5e7d">P1Y11M4D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RleHRyZWdpb246NTczZDYwMzljOTVkNDYwMTljNmZjMGFlYWU0ZjkzMjRfMTc4_737db244-27a1-4c07-a4ee-46538e8e1162">Net Income per Share&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Weighted-average shares used in computing basic net income per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;77,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;78,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Add potentially dilutive securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Weighted-average shares used in computing diluted net income per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;77,255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;79,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Securities not included as they would have been antidilutive&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RleHRyZWdpb246NTczZDYwMzljOTVkNDYwMTljNmZjMGFlYWU0ZjkzMjRfMTg5_bb319c65-b2ae-454c-9793-a24cf2c58c52">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Weighted-average shares used in computing basic net income per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;77,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;78,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Add potentially dilutive securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Weighted-average shares used in computing diluted net income per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;77,255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;79,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Securities not included as they would have been antidilutive&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfNS0xLTEtMS0xMTI4ODk_39d17b54-5eef-44f0-ac62-a19446b1fd58"
      unitRef="shares">77066000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfNS0zLTEtMS0xMTI4ODk_cfaab1c8-4d09-4120-890e-39fa200e7c71"
      unitRef="shares">78246000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfNi0xLTEtMS0xMTI4ODk_8f353b80-ed8e-4151-bb1e-f8fefc2e1222"
      unitRef="shares">189000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfNi0zLTEtMS0xMTI4ODk_b54f4170-cc43-4c17-af9d-2fb080b74957"
      unitRef="shares">1222000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfNy0xLTEtMS0xMTI4ODk_967c362c-ec31-417e-903a-3febff18e130"
      unitRef="shares">77255000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfNy0zLTEtMS0xMTI4ODk_ef87e0e4-abaa-4c7a-ae21-3b855c737a00"
      unitRef="shares">79468000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfOS0xLTEtMS0xMTI4ODk_99006cba-ff24-4fa8-9b77-269bca8128c0"
      unitRef="shares">1121000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF82Ny9mcmFnOjU3M2Q2MDM5Yzk1ZDQ2MDE5YzZmYzBhZWFlNGY5MzI0L3RhYmxlOmQ4MTE2MDE1OTU2ZDQ2ZjdiODI4ZjQxYzNmZTM0YjY4L3RhYmxlcmFuZ2U6ZDgxMTYwMTU5NTZkNDZmN2I4MjhmNDFjM2ZlMzRiNjhfOS0zLTEtMS0xMTI4ODk_5558ade9-96b9-492c-b126-cde04fabf9f7"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83MC9mcmFnOjIyMWZhMzY4MTQ4MzQ1NWU4ZDM1MzM3MzRkYzk4YzI1L3RleHRyZWdpb246MjIxZmEzNjgxNDgzNDU1ZThkMzUzMzczNGRjOThjMjVfNTEz_bac948dd-f3ef-4bf0-a759-aed2241c4761">Commitments and Contingencies&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note&#160;13, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Leases&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Contractual Obligations and Commitments&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our contractual obligations and commitments have not materially changed as of April&#160;1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December&#160;31, 2022. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Legal Matters&lt;/span&gt;&lt;/div&gt;From time to time, we may be subject to legal proceedings and claims in the ordinary course of business. As of April&#160;1, 2023, and as of the filing of this Quarterly Report on Form&#160;10-Q, we were not involved in any material legal proceedings.</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfOTY5_bf810406-45e5-4fbb-b492-77844ae34ac9">Leases&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We lease real estate space under non-cancelable operating lease agreements for commercial and industrial space, as well as for a portion of our corporate headquarters located in Livermore, California. Our leases have remaining terms of 1 to 6 years, and some leases include options to extend up to 20 years. We also have operating leases for automobiles with remaining lease terms of 1 year. We did not include any of our renewal options in our lease terms for calculating our lease liability as the renewal options allow us to maintain operational flexibility and we are not reasonably certain we will exercise these options at this time. The weighted-average remaining lease term for our operating leases was 5 years as of April&#160;1, 2023 and the weighted-average discount rate was 3.92%. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense were as follows (in thousands): &lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.399%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Lease expense:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating lease expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,952&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Short-term lease expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Variable lease expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum payments under our non-cancelable operating leases were as follows as of April&#160;1, 2023 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.328%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fiscal Year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Remainder of 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,018&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,756&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Total minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;38,142&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less: interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(4,223)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Present value of net minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33,919&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less: current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(7,512)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Total long-term operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i5808ac56e8724d9483b50db7563a40f6_I20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfMjU5_08d1bf0f-0507-4100-b59d-edf30cbee730">P1Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i86e206e6282d48df8160241056830aba_I20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfMjY1_fd0a1c36-44f7-441a-84aa-7b015bdc7650">P6Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseRenewalTerm
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfMzE3_bc08d406-9497-415b-9002-84aa5e95cd20">P20Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i0fac63ac36a244b28d9b24d06a2de166_I20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfMzk3_7c8b2efe-d92b-4661-8cd1-2e58cf65a161">P1Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfNzI2_13acdd7d-4e54-438d-8b5b-6d5271e5a94b">P5Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfNzgx_03029789-1ef8-4cdf-87a6-5c2f449984e0"
      unitRef="number">0.0392</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfOTYz_6ecfcd15-9693-4666-8608-32c017a5ac9c">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense were as follows (in thousands): &lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.399%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Lease expense:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating lease expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,952&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Short-term lease expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Variable lease expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseExpense
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfMy0xLTEtMS0xMTI4ODk_7271ecf8-af94-40d2-8259-5b20d1a71938"
      unitRef="usd">1952000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfMy0zLTEtMS0xMTI4ODk_64eb8d8a-8482-4fca-85f0-95bebaaf8f1c"
      unitRef="usd">2221000</us-gaap:OperatingLeaseExpense>
    <us-gaap:ShortTermLeaseCost
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfNC0xLTEtMS0xMTI4ODk_92b04467-d26b-4190-bb3b-f534876c17df"
      unitRef="usd">157000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfNC0zLTEtMS0xMTI4ODk_faf38616-9dd5-4e44-a454-beb0b22b2fcb"
      unitRef="usd">40000</us-gaap:ShortTermLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfNS0xLTEtMS0xMTI4ODk_3f6e998d-1955-442c-ba20-cdf1ef056595"
      unitRef="usd">746000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfNS0zLTEtMS0xMTI4ODk_f492dfe2-3432-4d53-a207-3f54132abbc5"
      unitRef="usd">458000</us-gaap:VariableLeaseCost>
    <us-gaap:LeaseCost
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfNi0xLTEtMS0xMTI4ODk_faaf857f-5e40-47b4-818f-a85f90f73d63"
      unitRef="usd">2855000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOmE2MTk4NTU0NjJjZjQxNTc5OTdkNGEwY2YyZWIxMjIzL3RhYmxlcmFuZ2U6YTYxOTg1NTQ2MmNmNDE1Nzk5N2Q0YTBjZjJlYjEyMjNfNi0zLTEtMS0xMTI4ODk_56d02896-4629-442a-b595-0421a69f6cec"
      unitRef="usd">2719000</us-gaap:LeaseCost>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RleHRyZWdpb246Y2QyZjdhMDRkZGZiNDdkOTk0OGMyYzEwMDgwMzUyZDNfOTcx_313dc033-6bff-4e4f-8781-7a45bb25f619">&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum payments under our non-cancelable operating leases were as follows as of April&#160;1, 2023 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.328%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fiscal Year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Remainder of 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,018&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,756&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Total minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;38,142&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less: interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(4,223)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Present value of net minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33,919&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less: current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(7,512)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Total long-term operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfMS0yLTEtMS0xMTI4ODk_884e74ad-23ed-4c3a-a002-ea34ec359b39"
      unitRef="usd">6190000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfMi0yLTEtMS0xMTI4ODk_19574a49-3015-4556-abb9-74bac1d2ed3b"
      unitRef="usd">8106000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfMy0yLTEtMS0xMTI4ODk_cfc6eb1d-c160-49cb-94dc-8001b24fe4a1"
      unitRef="usd">8018000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfNC0yLTEtMS0xMTI4ODk_d61a4e8f-dfd2-472a-99d9-4716792d4bb5"
      unitRef="usd">6641000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfNS0yLTEtMS0xMTI4ODk_4f6f2d00-a846-4449-abda-92b1ca927d11"
      unitRef="usd">5756000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <form:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfNi0yLTEtMS0xMTI4ODk_4679d464-0636-4df8-8213-6bb57ffb1053"
      unitRef="usd">3431000</form:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfNy0yLTEtMS0xMTI4ODk_3c498627-4237-40e1-b906-e3248fcd1b72"
      unitRef="usd">38142000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfOC0yLTEtMS0xMTI4ODk_0ffeebe6-659a-4275-bfaa-fa87ee1f7ce7"
      unitRef="usd">4223000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfOS0yLTEtMS0xMTI4ODk_8b6d1e04-689c-4a23-8171-1b22d67419a4"
      unitRef="usd">33919000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfMTAtMi0xLTEtMTEyODg5_9bc29fe6-c393-4137-b89c-344cbb17c590"
      unitRef="usd">7512000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83My9mcmFnOmNkMmY3YTA0ZGRmYjQ3ZDk5NDhjMmMxMDA4MDM1MmQzL3RhYmxlOjMwYjgzOTBkNWIxMDQ1NjNiODQ4ZWMwMGY2NWE4OTM1L3RhYmxlcmFuZ2U6MzBiODM5MGQ1YjEwNDU2M2I4NDhlYzAwZjY1YTg5MzVfMTEtMi0xLTEtMTEyODg5_8382617b-7776-40c2-99ad-954588f29925"
      unitRef="usd">26407000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMjI0MQ_13ebaaf1-4bb4-41f1-a5f2-9063496bca49">Revenue&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Transaction price allocated to the remaining performance obligations:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; On April&#160;1, 2023, we had $9.8 million of remaining performance obligations, which were comprised of deferred service contracts and extended warranty contracts and contracts with overtime revenue recognition that are not yet delivered.&#160;We expect to recognize approximately&#160;67.6% of our remaining performance obligations as revenue in the remainder of fiscal 2023, approximately 26.8% in fiscal 2024, and approximately 5.6% in fiscal 2025 and thereafter. The foregoing excludes the value of other remaining performance obligations as they have original durations of one year or less, and also excludes information about variable consideration allocated entirely to a wholly unsatisfied performance obligation. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Contract balances:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;The timing of revenue recognition may differ from the timing of invoicing to customers. Accounts receivable is recorded at the invoiced amount, net of an allowance for credit losses. A receivable is recognized in the period we deliver goods or provide services or when our right to consideration is unconditional. A contract asset is recorded when we have performed under the contract but our right to consideration is conditional on something other than the passage of time. Contract assets as of April&#160;1, 2023 and December&#160;31, 2022 were $2.9 million and $1.9 million, respectively, and are reported on the Condensed Consolidated Balance Sheets as a component of Prepaid expenses and other current assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract liabilities include payments received and payments due in advance of performance under a contract and are satisfied as the associated revenue is recognized. Contract liabilities are reported on the Condensed Consolidated Balance Sheets at the end of each reporting period as a component of Deferred revenue and Other liabilities. Contract liabilities as of April&#160;1, 2023 and December&#160;31, 2022 were $24.9 million and $30.9 million, respectively. During the three months ended April&#160;1, 2023, we recognized $14.0 million of revenue that was included in contract liabilities as of December&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Costs to obtain a contract:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; We generally expense sales commissions when incurred as a component of Selling, general and administrative expense, as the amortization period is typically less than one year. &lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Revenue by category: &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Refer to Note&#160;15, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Operating Segments and Enterprise-Wide Information&lt;/span&gt;, for further details.</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMTA4_ff0e2591-2ec2-4847-b56f-504084639165"
      unitRef="usd">9800000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="i395d9aa550624ec2bb1059db6b563618_I20230401"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMzQ1_d5552a1b-4445-4d74-bf48-64eb8d906989"
      unitRef="number">0.676</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="ice9a0c10ada145f28c2b1602c40f3b47_I20230401"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfNDQ3_7563c17a-9dc1-4208-a1b1-c70787687fef"
      unitRef="number">0.268</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="i1af4ba8a470444dd8b60d0cd67b6cde0_I20230401"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfNDg0_f32b514b-989b-4b73-a582-5a2fc9084b0f"
      unitRef="number">0.056</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMTMwNw_b3e6153b-56d5-4f74-84e0-0927d7d43a02"
      unitRef="usd">2900000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMTMxNA_4cd01f04-be76-4eba-bff0-a9a5c73117b5"
      unitRef="usd">1900000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerLiability
      contextRef="ie391b3e511a247a8a50597da9a583817_I20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMTgzNw_5087cd79-6f10-40a5-a406-70e5a27a46a5"
      unitRef="usd">24900000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="iaf89c4969d754887acd078f58d431a4c_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMTg0NA_f9f74105-f8f1-42a6-acea-84478149e6d6"
      unitRef="usd">30900000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF83Ni9mcmFnOjZiNTdjZTNmNDE0NTQwNzQ4NGNiNmIxNGU4MGVkZGM5L3RleHRyZWdpb246NmI1N2NlM2Y0MTQ1NDA3NDg0Y2I2YjE0ZTgwZWRkYzlfMTkwNw_2fe752ad-06a8-479d-8627-cbb4da062b17"
      unitRef="usd">14000000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RleHRyZWdpb246NGE1MDA2NDAxMGE5NGQ3YmExMTE3MWNiMDZjZWYzYzJfMTEzNQ_e4717981-2a8b-4d9d-8cd8-056a1b043710">Operating Segments and Enterprise-Wide InformationOur chief operating decision maker (&#x201c;CODM&#x201d;) is our Chief Executive Officer, who reviews operating results to make decisions about allocating resources and assessing performance for the entire company. We operate in two reportable segments consisting &lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;of the Probe Cards segment and the Systems segment. The following table summarizes the operating results by reportable segment (dollars in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.888%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.142%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="45" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Probe Cards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Corporate and Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Probe Cards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Corporate and Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;127,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;167,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;159,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;197,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gross profit &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;43,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20,746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(3,291)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;61,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;77,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2,385)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;94,224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gross margin&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;36.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;52.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;47.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating results provide useful information to our management for assessment of our performance and results of operations. Certain components of our operating results are utilized to determine executive compensation along with other measures. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Corporate and Other includes unallocated expenses relating to amortization of intangible assets, inventory and fixed asset fair value adjustments due to acquisitions, share-based compensation, and restructuring charges which are not used in evaluating the results of, or in allocating resources to, our reportable segments.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain revenue category information by reportable segment was as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:40.712%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.113%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Probe Cards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Probe Cards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Market:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foundry &amp;amp; Logic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;101,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;101,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;114,121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;114,121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;DRAM&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Flash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;127,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;167,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;159,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;197,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Timing of revenue recognition:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Products transferred at a point in time&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;126,678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;36,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;163,388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;158,836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35,416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;194,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Products and services transferred over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,922&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;127,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;167,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;159,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;197,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Geographical region:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Taiwan&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;38,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,432&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;42,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,069&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;13,090&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,671&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,647&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;China&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,476&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,099&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;38,399&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;South Korea&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,203&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Malaysia&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;946&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,270&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;22,199&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Japan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,841&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,382&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Europe&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,382&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,395&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Singapore&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,284&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;612&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Rest of the world&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;841&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;127,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;167,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;159,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;197,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RleHRyZWdpb246NGE1MDA2NDAxMGE5NGQ3YmExMTE3MWNiMDZjZWYzYzJfMjgy_4cc23f2c-39f9-48ac-9fd8-e3f355d741d7"
      unitRef="segment">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RleHRyZWdpb246NGE1MDA2NDAxMGE5NGQ3YmExMTE3MWNiMDZjZWYzYzJfMTE1MA_74e55b70-5963-4609-9be2-0731ede69dc1">The following table summarizes the operating results by reportable segment (dollars in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.888%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.142%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="45" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Probe Cards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Corporate and Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Probe Cards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Corporate and Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;127,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;167,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;159,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;197,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gross profit &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;43,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20,746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(3,291)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;61,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;77,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2,385)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;94,224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gross margin&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;36.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;52.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;47.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6799f4892e69498f84fdcbb37f078a02_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy0xLTEtMS0xMTI4ODk_e28c2259-68bf-4e21-8230-847799fe95c3"
      unitRef="usd">127328000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idafa2106a1e248679a8dd6bbc5ffe836_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy0zLTEtMS0xMTI4ODk_a0bfc158-4e81-4562-b735-4e4cdf9a5a26"
      unitRef="usd">40120000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia6cd83b723cb4befa61de97eeab914e8_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy01LTEtMS0xMTI4ODk_0cca5102-b9a3-4b95-83f2-886b51da2fdb"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy03LTEtMS0xMTI4ODk_b159457e-ab56-4cb0-a6a2-32f6d401bc62"
      unitRef="usd">167448000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic9216ee9ab2a440bb01d0fd72414117a_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy05LTEtMS0xMTI4ODk_8f8a2025-771c-4eda-9fa4-b75e7d5ac00a"
      unitRef="usd">159983000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i416c5312e797409088f4faf3df8164c2_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy0xMS0xLTEtMTEyODg5_4c60df2e-5618-4aa2-ab12-31326db289de"
      unitRef="usd">37191000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib78660443e5342919fd39eefb59b54ab_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy0xMy0xLTEtMTEyODg5_00691a19-a9f3-4b70-9de4-c47dedb90733"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfMy0xNS0xLTEtMTEyODg5_19aae8a0-bbee-457c-833f-3e9eb8aef7aa"
      unitRef="usd">197174000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="i6799f4892e69498f84fdcbb37f078a02_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC0xLTEtMS0xMTI4ODk_c71b1dbd-7774-4762-af4c-37f8b7e8d68c"
      unitRef="usd">43623000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="idafa2106a1e248679a8dd6bbc5ffe836_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC0zLTEtMS0xMTI4ODk_e82391d6-6d8d-4936-8b21-769d00c5ef6c"
      unitRef="usd">20746000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ia6cd83b723cb4befa61de97eeab914e8_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC01LTEtMS0xMTI4ODk_302a6b65-6632-4860-8950-09a9e56a055f"
      unitRef="usd">-3291000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC03LTEtMS0xMTI4ODk_f33bae9a-ba52-429d-8efc-02395cf7eed8"
      unitRef="usd">61078000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ic9216ee9ab2a440bb01d0fd72414117a_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC05LTEtMS0xMTI4ODk_0ced0838-023f-4998-8eef-e07d6870ddad"
      unitRef="usd">77202000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i416c5312e797409088f4faf3df8164c2_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC0xMS0xLTEtMTEyODg5_67bd1bb5-02fb-4f10-8bca-8f8e89fb792c"
      unitRef="usd">19407000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ib78660443e5342919fd39eefb59b54ab_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC0xMy0xLTEtMTEyODg5_afe9abd2-ed22-4ad6-9342-17dba24d58cb"
      unitRef="usd">-2385000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNC0xNS0xLTEtMTEyODg5_3fd0c777-3696-421c-9ccd-d38fbcec4c49"
      unitRef="usd">94224000</us-gaap:GrossProfit>
    <form:GrossMarginPercent
      contextRef="i6799f4892e69498f84fdcbb37f078a02_D20230101-20230401"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS0xLTEtMS0xMTI4ODk_c2825c6b-623d-442b-8018-33b92cb8a5cc"
      unitRef="number">0.343</form:GrossMarginPercent>
    <form:GrossMarginPercent
      contextRef="idafa2106a1e248679a8dd6bbc5ffe836_D20230101-20230401"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS0zLTEtMS0xMTI4ODk_833608a1-27ac-4303-ae2f-649c7123edf6"
      unitRef="number">0.517</form:GrossMarginPercent>
    <form:GrossMarginPercent
      contextRef="ia6cd83b723cb4befa61de97eeab914e8_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS01LTEtMS0xMTI4ODk_ea59ec0e-d843-4bd7-915c-cfe51e1106f7"
      unitRef="number"
      xsi:nil="true"/>
    <form:GrossMarginPercent
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS03LTEtMS0xMTI4ODk_b952014f-1f1f-420e-b2c4-dac2aa241e98"
      unitRef="number">0.365</form:GrossMarginPercent>
    <form:GrossMarginPercent
      contextRef="ic9216ee9ab2a440bb01d0fd72414117a_D20211226-20220326"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS05LTEtMS0xMTI4ODk_0c9711d0-1242-47cc-ae78-82c715015ab9"
      unitRef="number">0.483</form:GrossMarginPercent>
    <form:GrossMarginPercent
      contextRef="i416c5312e797409088f4faf3df8164c2_D20211226-20220326"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS0xMS0xLTEtMTEyODg5_5487587f-715f-4243-be6e-acc265e102b9"
      unitRef="number">0.522</form:GrossMarginPercent>
    <form:GrossMarginPercent
      contextRef="ib78660443e5342919fd39eefb59b54ab_D20211226-20220326"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS0xMy0xLTEtMTEyODg5_8cb19740-363f-42d8-b729-9f3a7f71bee4"
      unitRef="number"
      xsi:nil="true"/>
    <form:GrossMarginPercent
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjM0OTE0NWExOGZhNjQ2NzdiNjk0MDVmMDc4NTRjMjhmL3RhYmxlcmFuZ2U6MzQ5MTQ1YTE4ZmE2NDY3N2I2OTQwNWYwNzg1NGMyOGZfNS0xNS0xLTEtMTEyODg5_dd4fec9f-bddf-4549-89ad-d61ac361ad3d"
      unitRef="number">0.478</form:GrossMarginPercent>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RleHRyZWdpb246NGE1MDA2NDAxMGE5NGQ3YmExMTE3MWNiMDZjZWYzYzJfMTEzOQ_b06c0f0a-a26f-4dbb-88b6-730acfb83087">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain revenue category information by reportable segment was as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:40.712%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.113%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;April 1, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 26, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Probe Cards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Probe Cards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Market:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foundry &amp;amp; Logic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;101,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;101,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;114,121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;114,121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;DRAM&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Flash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Systems&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;127,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;167,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;159,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;197,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Timing of revenue recognition:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Products transferred at a point in time&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;126,678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;36,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;163,388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;158,836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35,416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;194,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Products and services transferred over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,922&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;127,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;167,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;159,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;197,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Geographical region:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Taiwan&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;38,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,432&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;42,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,069&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;13,090&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,671&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,647&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;China&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,476&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,099&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;38,399&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;South Korea&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;19,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,203&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;24,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Malaysia&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;946&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,270&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;22,199&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Japan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,841&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,382&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Europe&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,382&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,395&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Singapore&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,284&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;612&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Rest of the world&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;841&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;127,328&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,120&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;167,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;159,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;197,174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie3f57f4658024943a997aa8668aa48d1_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNC0xLTEtMS0xMTI4ODk_e47d3b47-1b56-43f2-ac0f-29914ee90d50"
      unitRef="usd">101562000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icb207516222642b0b03061d743015c19_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNC0zLTEtMS0xMTI4ODk_6817c988-ffc3-4f9b-807d-27066f25a0d1"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i57ab77dbccc3409bbb5e6e5e7b8f7894_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNC01LTEtMS0xMTI4ODk_8f5d4a46-e676-4d45-8688-6a2104deb782"
      unitRef="usd">101562000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6861222872134435bf1efe71e802aae9_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNC03LTEtMS0xMTI4ODk_fbd96177-e4ed-48fb-8a22-6e1c626e18b2"
      unitRef="usd">114121000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie9468e14e1ff4c62b68559b78b297bd6_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNC05LTEtMS0xMTI4ODk_d2cffd26-ecd7-4bf6-9cd3-94ec6c283666"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib953e584b4bb4e11a980b5e8acda3136_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNC0xMS0xLTEtMTEyODg5_e93e9830-c06e-45c4-bf46-3fff5df6881d"
      unitRef="usd">114121000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2aaa39893dcb4023846ebdb2ec8c933b_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNS0xLTEtMS0xMTI4ODk_89049a2d-bbc2-4955-9fce-065510eb7231"
      unitRef="usd">19890000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i266271e17afe4a57bcc2fab6e76d9461_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNS0zLTEtMS0xMTI4ODk_d127fddd-2831-49b7-8d56-fe882dbe27e6"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i007b4e45424f471b9629da09a3605d1b_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNS01LTEtMS0xMTI4ODk_1f727052-8b5c-4519-baf5-db17b5336fd0"
      unitRef="usd">19890000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i52ea4778270f4b9bb78dda43ac72670b_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNS03LTEtMS0xMTI4ODk_d4dcaa4d-a348-4e1d-8942-ecf810c4a5e2"
      unitRef="usd">34437000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5cbbbaf5fc9d4371823b2348bf486ffe_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNS05LTEtMS0xMTI4ODk_3202900e-c3db-49e6-b35e-3c3ad0e03f3a"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i81af7d056faa4c07bf200003672f214f_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNS0xMS0xLTEtMTEyODg5_a24d1e79-f085-4f9b-a9c7-13e0de8816d2"
      unitRef="usd">34437000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i81131e87b9d745e3befe5db80fdf0f1c_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNi0xLTEtMS0xMTI4ODk_ad75d3a0-0cbb-44ac-ad2e-f42b7b7b78a2"
      unitRef="usd">5876000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i764f57f8fdf94f0588744fd2195380b5_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNi0zLTEtMS0xMTI4ODk_88055003-e2f2-426f-973d-c1de517e3693"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i69508750369f4341845545a96895402a_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNi01LTEtMS0xMTI4ODk_dbf4107f-2dc7-44e7-84d0-1f26b014b7ed"
      unitRef="usd">5876000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i38d12d03b6f84fa3819af6398067eb30_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNi03LTEtMS0xMTI4ODk_a8624782-a7e5-4df2-898f-9f7c047017b7"
      unitRef="usd">11425000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3b9c1393c8de480083cff99bbf25319e_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNi05LTEtMS0xMTI4ODk_ef4b1684-125c-4667-9105-2f1ff6dcbd2c"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i75a366b43b8b4586b8ab6f43e0b11dae_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNi0xMS0xLTEtMTEyODg5_0319b469-52f9-4de9-b402-f79b2ed13aeb"
      unitRef="usd">11425000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia68b5447e2994f8cb9e415a6ce3af946_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNy0xLTEtMS0xMTI4ODk_52b90af7-59c8-4243-bd94-161a693cb7ef"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i89af6a405c09446ba30a2a3314e38887_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNy0zLTEtMS0xMTI4ODk_20916909-612a-4681-a60a-bd13abccac94"
      unitRef="usd">40120000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i744dd35966914451b5084e9dc0bb3214_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNy01LTEtMS0xMTI4ODk_cb548d8d-3cba-4488-894b-ce0f0949e3ab"
      unitRef="usd">40120000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6f2cd2293e3742c799e6fb09b7662926_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNy03LTEtMS0xMTI4ODk_a2c690e4-9c4e-4cf9-b63f-e05bebbc3a3f"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i40031554171a497798ea6f3e6b43626e_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNy05LTEtMS0xMTI4ODk_9e38b2b2-1018-493e-8635-dc3ed8e72352"
      unitRef="usd">37191000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic235b1adb6f24f2381252950cea3f0e9_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfNy0xMS0xLTEtMTEyODg5_136627f7-9c4f-4ca1-91ba-53147910f2f0"
      unitRef="usd">37191000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c18bf3d5fc448e58ed4984c43215955_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfOC0xLTEtMS0xMTI4ODk_e94e451b-6afa-497e-a0d8-8989c77139e3"
      unitRef="usd">127328000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i053bfe5a4e704c5b922d9931322549aa_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfOC0zLTEtMS0xMTI4ODk_3bba022e-9e38-4a22-8d5e-432780772765"
      unitRef="usd">40120000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfOC01LTEtMS0xMTI4ODk_2fc73012-e80b-4d19-a481-b76d108c37b7"
      unitRef="usd">167448000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i54f2f2fa7e50416aa38c90bcc04d78f8_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfOC03LTEtMS0xMTI4ODk_88d8433f-604d-4ab5-ba21-d1f47e631e84"
      unitRef="usd">159983000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifa49921cb7384c388de263ba1beea208_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfOC05LTEtMS0xMTI4ODk_539e5fdd-9e2f-49e4-9517-f203dfb586a6"
      unitRef="usd">37191000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfOC0xMS0xLTEtMTEyODg5_ba04172b-2040-4bc3-96ec-f4b5beab1d4b"
      unitRef="usd">197174000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1488a50f1c794c9fbaa68a857ae26cac_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTAtMS0xLTEtMTEyODg5_e0d53df6-7163-4a65-be71-f5968ac908a0"
      unitRef="usd">126678000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib502d25daae043e6afbff8cb7b362887_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTAtMy0xLTEtMTEyODg5_1d642b72-8ee7-4833-b5d8-fbad0eba9ecf"
      unitRef="usd">36710000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic44dc2978e884bbd9466062ae11fedf1_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTAtNS0xLTEtMTEyODg5_fca510f1-9cc3-4d9c-bed0-d6681a043766"
      unitRef="usd">163388000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iab0ee60fb57747799dd9400b3ff1f8c2_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTAtNy0xLTEtMTEyODg5_fb39f9cb-4215-4168-8c79-af2cf6a7b958"
      unitRef="usd">158836000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6fa94ae85bd7418c9a016f8ea73d9d1c_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTAtOS0xLTEtMTEyODg5_fe951eb2-2e66-4cb2-985c-ee52903d8142"
      unitRef="usd">35416000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i134bda744ed0424c96fadc32de7c50c4_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTAtMTEtMS0xLTExMjg4OQ_4c22d86e-e229-425c-b897-19c29c945d92"
      unitRef="usd">194252000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id64205c2964f4c54a4290871570a94cf_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTEtMS0xLTEtMTEyODg5_1aef31a3-bd71-4835-b318-a8afb50ce91e"
      unitRef="usd">650000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i20307a1b1ed94e5490c664c65f9c9904_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTEtMy0xLTEtMTEyODg5_78cb6dab-320b-4cb0-a36b-668f5445d789"
      unitRef="usd">3410000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i75948687300041d090a82594e13f7ca5_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTEtNS0xLTEtMTEyODg5_eaf1df21-0034-4b9a-b9cd-9187cffae6e5"
      unitRef="usd">4060000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i79e0c0052c1f4135a501117dd15b3a7b_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTEtNy0xLTEtMTEyODg5_4dbacafa-463b-4aae-ae43-45ac3de8820c"
      unitRef="usd">1147000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5a828079b7094f718c6e884b6d45e4ee_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTEtOS0xLTEtMTEyODg5_8c6c5e46-8769-43f6-a9be-d6a66e91857a"
      unitRef="usd">1775000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ica5134de62dd4545ab3b260d7d27743d_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTEtMTEtMS0xLTExMjg4OQ_325691d6-6059-4fbc-b404-388376e6fc75"
      unitRef="usd">2922000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c18bf3d5fc448e58ed4984c43215955_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTItMS0xLTEtMTEyODg5_66727145-8d90-44de-8fec-d396f5d1355c"
      unitRef="usd">127328000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i053bfe5a4e704c5b922d9931322549aa_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTItMy0xLTEtMTEyODg5_026bca09-653d-41e2-aec5-7f33c8b7283a"
      unitRef="usd">40120000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTItNS0xLTEtMTEyODg5_c93f0696-d664-4553-875b-d50b8ccd0a8c"
      unitRef="usd">167448000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i54f2f2fa7e50416aa38c90bcc04d78f8_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTItNy0xLTEtMTEyODg5_99e9043f-3f7e-4e71-b4d8-4af1222df43c"
      unitRef="usd">159983000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifa49921cb7384c388de263ba1beea208_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTItOS0xLTEtMTEyODg5_bd4db5e4-d23f-46fb-b58e-a2eda1383afd"
      unitRef="usd">37191000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTItMTEtMS0xLTExMjg4OQ_cb2c2675-a7b7-483d-b9c9-da70b8ff53c1"
      unitRef="usd">197174000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i81da785277964902a701690fae11865b_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTUtMS0xLTEtMTEyODg5_24c2bc6d-66ac-473a-8465-126399416234"
      unitRef="usd">38897000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i92392ed809004fb1a75c9e3c278d2456_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTUtMy0xLTEtMTEyODg5_b135da1e-9d3d-41ad-a2d7-cfe2bec5f7bd"
      unitRef="usd">1432000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1a676884d1a04c6e87b1f9cf3f175b7a_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTUtNS0xLTEtMTEyODg5_bd619920-3eff-4abe-a0d7-b32bfd3ca8a5"
      unitRef="usd">40329000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iad1c658a279c4745b0d1a886ed75f821_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTUtNy0xLTEtMTEyODg5_ca5511b0-d75b-480d-a8d4-187aebffc8c0"
      unitRef="usd">42522000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2c30f6660ee44b12b0e077bb86b8f4d2_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTUtOS0xLTEtMTEyODg5_bd97aa45-a8cb-49a6-9825-c723e401c87b"
      unitRef="usd">10547000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib1fface799f3462bb2b0e61e3e8d8f10_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTUtMTEtMS0xLTExMjg4OQ_a247c2a9-e33c-40de-bd4e-745c0c552ff1"
      unitRef="usd">53069000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2c758b12153c434b8eaa9f607f1db25d_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTQtMS0xLTEtMTEyODg5_f9f3301c-0e4f-4c9e-8147-186b5db090d1"
      unitRef="usd">24641000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5337f25c366d4835bd8a43e610921210_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTQtMy0xLTEtMTEyODg5_348dd743-ccaa-4680-b621-6a29d64946f0"
      unitRef="usd">13090000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4b8bb859a76b48a080301b951b76bd90_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTQtNS0xLTEtMTEyODg5_2a980013-7740-4465-b210-2bb552b1506b"
      unitRef="usd">37731000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6525bf52fdfa47f5adabab22a2873881_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTQtNy0xLTEtMTEyODg5_d9e0f924-d331-4041-a94f-17f3471f6523"
      unitRef="usd">19976000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9be73b1d22a94f2ea1eda2c91c596f67_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTQtOS0xLTEtMTEyODg5_d6aa4d82-2dc3-4a1b-8bc8-22b5ce6283e7"
      unitRef="usd">5671000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8a948107ecc145e2baff6c24d179554f_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTQtMTEtMS0xLTExMjg4OQ_a748ae0d-8354-4fd9-91e0-cc44150517f3"
      unitRef="usd">25647000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iad28ecdf279b4e43961aca06c6d21859_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTYtMS0xLTEtMTEyODg5_bebed4f5-e1a3-497d-8fe8-4992eb5fbd11"
      unitRef="usd">18476000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1d687f6558974f55b7f66e57dbccc17e_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTYtMy0xLTEtMTEyODg5_5e2f75fa-a22b-4958-8ca2-885d99ea455f"
      unitRef="usd">8623000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i83bb271dfcce47cba292196b76a2dade_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTYtNS0xLTEtMTEyODg5_a8af6b8d-a4e3-4f67-b4c6-25293173f975"
      unitRef="usd">27099000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibee3e0ac0ee5429cb1d971f77908e3bd_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTYtNy0xLTEtMTEyODg5_8bc501c4-984e-4d39-9fb4-6ab6a69f5b39"
      unitRef="usd">32791000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8053af22f7dd41f7a23ba95b992f6fe7_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTYtOS0xLTEtMTEyODg5_bedefcda-e3f2-45df-b91d-5fb982a89405"
      unitRef="usd">5608000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6ec50656699f488b9b52f67d7fdb2b79_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTYtMTEtMS0xLTExMjg4OQ_ab9aabf8-a4ce-4898-81fe-81fa47633bcb"
      unitRef="usd">38399000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7f865995caab464db4739dc18c62189c_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTctMS0xLTEtMTEyODg5_9386f0ab-518f-4af2-9d29-f507451f3302"
      unitRef="usd">19572000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6507a08f7c5840dfa9054cb519745d2d_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTctMy0xLTEtMTEyODg5_2c8e7310-44f0-4a8c-808f-178bf08fdb20"
      unitRef="usd">1203000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5d05b88744404d029a61c604fc8db06c_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTctNS0xLTEtMTEyODg5_1cd61d3f-ddb7-4abd-887f-3e7de54dc901"
      unitRef="usd">20775000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib3752d819d1048c89f6920d7d9e32c1d_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTctNy0xLTEtMTEyODg5_c5745af1-7c5b-4466-87fd-1c4e3905466f"
      unitRef="usd">24881000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1409dd5e93e64711b040238882879a40_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTctOS0xLTEtMTEyODg5_80bad1f3-52f0-4e98-850d-9065db6642e5"
      unitRef="usd">2620000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i68c0c7f21acb455bb1594c12a2dbfa3b_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTctMTEtMS0xLTExMjg4OQ_590378e5-be85-4859-8a82-30dd3fa88d2d"
      unitRef="usd">27501000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7f172e3509464e918c0a87ba4283e5bd_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjEtMS0xLTEtMTEyODg5_827a0be8-69f0-4340-afc7-fb2ae2c214d4"
      unitRef="usd">10324000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia6a21b1c92834d2b82cb2a8a7c59e713_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjEtMy0xLTEtMTEyODg5_0badb5fe-256e-498b-9b7d-a3493ac08d4f"
      unitRef="usd">946000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic06e4101362e4e9695c9e997df7b0f81_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjEtNS0xLTEtMTEyODg5_41c6c86c-0707-4259-8067-ec8b024b3f0e"
      unitRef="usd">11270000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i407ac2ed3ed14d8f8217b2302f71d2ca_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjEtNy0xLTEtMTEyODg5_42adfb53-c31b-4ea8-a4d7-5f76639c2639"
      unitRef="usd">21517000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0889f288138e4be986fd4526fcd765db_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjEtOS0xLTEtMTEyODg5_19260282-fa8c-4018-b91f-1e033f4b9d74"
      unitRef="usd">682000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7e91e67abc894725bbfc242d7a721b8e_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjEtMTEtMS0xLTExMjg4OQ_fd813709-80aa-475b-b8a5-3ecaca2a0133"
      unitRef="usd">22199000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id6c666fc64c440759f9618aace5820d7_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjAtMS0xLTEtMTEyODg5_8b73795a-c363-4ef1-8fa0-23516dfa3809"
      unitRef="usd">7136000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5ef2131c3ede459b800af8e0eda58b4a_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjAtMy0xLTEtMTEyODg5_cc647118-4090-4a42-9344-7f9044fc27b9"
      unitRef="usd">3841000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4f4bc73792f546eeb6d5406f68d67f24_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjAtNS0xLTEtMTEyODg5_e3c85887-72f1-44b5-a1ea-dde1ec2683b0"
      unitRef="usd">10977000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9d6453bfae0a4a0085a505143d64d584_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjAtNy0xLTEtMTEyODg5_abb3772b-271d-4e7f-8cc9-e91016b3cddc"
      unitRef="usd">4785000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia5d8ed6eb7aa46b99e1616b9ee248752_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjAtOS0xLTEtMTEyODg5_fd2dee20-b1ef-44fe-8ccc-ab1b57d22a23"
      unitRef="usd">4597000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib126b5d6b87246a897198cbe4d795a2c_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjAtMTEtMS0xLTExMjg4OQ_c0d49ba7-0a4e-48e5-ba4f-7f0903c7256a"
      unitRef="usd">9382000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i654bd1564de945ff812e812c9bc9576f_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTgtMS0xLTEtMTEyODg5_68817039-6ebe-4219-b9ed-78088a6d59ce"
      unitRef="usd">3426000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i461d5fe8aac047cf8fcaf7fc448c9696_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTgtMy0xLTEtMTEyODg5_8690762b-503e-4fd1-aa74-52680ed5c0e0"
      unitRef="usd">6000000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i513e4403d35d43e48725caa76a757877_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTgtNS0xLTEtMTEyODg5_a69f7697-4530-44ce-a9f7-3e8e9dbcc61c"
      unitRef="usd">9426000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if2c3fc7e45274488a2a6ef76e75684fe_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTgtNy0xLTEtMTEyODg5_43d6ccfc-66b9-43ba-b7e1-dd3ecdb37ed0"
      unitRef="usd">2382000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i10e203ee90654dcab429dce0536e133c_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTgtOS0xLTEtMTEyODg5_fc60ccbb-0d1e-44b9-b903-969a76ffc08c"
      unitRef="usd">6013000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id67db979c6a94444ade9b8a4ab9f725e_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTgtMTEtMS0xLTExMjg4OQ_90543bf5-a4c8-49d3-829f-6d37e31cfb67"
      unitRef="usd">8395000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibc0b0428e0f843888e6d7665dd1f032f_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTktMS0xLTEtMTEyODg5_9952c99c-d0de-48d6-a558-c4d5507f534c"
      unitRef="usd">3200000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id503bb2fc33e425bbc56cef72c72cc19_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTktMy0xLTEtMTEyODg5_23749a94-4970-4a76-bb33-ada2cf9fc930"
      unitRef="usd">2140000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1ebb525b6c614078a9e5ff7912b3f2ec_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTktNS0xLTEtMTEyODg5_acf46417-5733-43df-bd8a-99259f5d8dca"
      unitRef="usd">5340000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iba5fd4c6177147d59298e1a8ab5c6e10_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTktNy0xLTEtMTEyODg5_5bc2e119-4d1f-4e7c-9287-d9f3bbba1567"
      unitRef="usd">10284000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i811f44c68eaa4500bef0308f02af1310_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTktOS0xLTEtMTEyODg5_320b7c2f-82b3-4c6c-b58c-463a9c134af2"
      unitRef="usd">612000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic8d63af8ddfa4cf9b0087cfdc204cece_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMTktMTEtMS0xLTExMjg4OQ_42ad63a0-2a0b-418d-b4ce-e54202b10619"
      unitRef="usd">10896000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic13816905676417c8d63b98c2b9454da_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjItMS0xLTEtMTEyODg5_8d07b70d-d537-45bf-bd4d-95beacaa36ec"
      unitRef="usd">1656000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7fb128364d9d457dac8137e8dca2a37a_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjItMy0xLTEtMTEyODg5_0a4fa6d5-19cc-46b5-94c7-958dcfe8a308"
      unitRef="usd">2845000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib564e85ade4748579fc7ab660398f569_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjItNS0xLTEtMTEyODg5_14b1412d-8dc6-4149-b64a-61cb3d3505b5"
      unitRef="usd">4501000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic0f60a5036944fdd9696a6b335a55c78_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjItNy0xLTEtMTEyODg5_a23c5d1f-6f25-46e0-8282-98e64615aac9"
      unitRef="usd">845000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i77eea6a948d743a5aebb380f281512c4_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjItOS0xLTEtMTEyODg5_91a61f15-395b-446f-89cc-d0a5603baf73"
      unitRef="usd">841000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i91ef3001d5af493fb558e3570ab9fac6_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjItMTEtMS0xLTExMjg4OQ_d8b6a9b4-eecb-415b-9329-8897321f563e"
      unitRef="usd">1686000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c18bf3d5fc448e58ed4984c43215955_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjMtMS0xLTEtMTEyODg5_76e259df-ff08-4448-af49-ef012af6e0cc"
      unitRef="usd">127328000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i053bfe5a4e704c5b922d9931322549aa_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjMtMy0xLTEtMTEyODg5_d63ff40d-9b8a-494a-9d7f-012968c63b4f"
      unitRef="usd">40120000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjMtNS0xLTEtMTEyODg5_87b086b4-e7e0-4f0d-b15f-ee1e802bed5b"
      unitRef="usd">167448000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i54f2f2fa7e50416aa38c90bcc04d78f8_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjMtNy0xLTEtMTEyODg5_8ac60a7e-de21-4095-ae1c-9c5d2e415e11"
      unitRef="usd">159983000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifa49921cb7384c388de263ba1beea208_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjMtOS0xLTEtMTEyODg5_e2abe632-e7a4-45b8-b66a-5d696d6bac0c"
      unitRef="usd">37191000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i197efaea47d4405dbd3335cb3b157647_D20211226-20220326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmE2ZmI1NTM2OWEyMjQ1Njg4OGZhODVlZWE1OGZmMzg0L3NlYzphNmZiNTUzNjlhMjI0NTY4ODhmYTg1ZWVhNThmZjM4NF84Mi9mcmFnOjRhNTAwNjQwMTBhOTRkN2JhMTExNzFjYjA2Y2VmM2MyL3RhYmxlOjdkOWIyZTk4MDVhMjQxOGQ4MjFhN2FhZDRkM2VjNjRjL3RhYmxlcmFuZ2U6N2Q5YjJlOTgwNWEyNDE4ZDgyMWE3YWFkNGQzZWM2NGNfMjMtMTEtMS0xLTExMjg4OQ_c05bc5db-0543-4a86-9d55-ca59931f3195"
      unitRef="usd">197174000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>75
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
MZ.WWLNV-4:OVD].M,D95[>52"I!O#>#Y0BGS_<9^Q>J^6L[^!5!+ P04
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
M-O)&:$%OXW7&K]G#&[H](;O&2UA6-9_H86MKC%"RKCC+M\XB@SPM-M_QY^U
M[#E@\X #V3J08QW,K8/9<2#N 0=KZV!U'"SG@(.]=;"[$0Z=M+-U<)JQWPQ6
M,])!S./I:<D>4%E;"[1ZHZ&K\18#G!9U9<UY*8ZFPH]/9Y<707@Q#P,DMN:7
M;\^#5S=B9WXCOMZ%%S=S=!F)O<O9KV\NWP;A]?PG%/[V_OSF3S1&[^<!^OG9
M<_0,I06Z6;)U%1>+ZG3"15XU^B39YO!ZDP,YD,,-XW'6XS;3N\U8GHO:G'.6
M?.SQ#O3>KQ:+M*[M.$-7<;H8BU.8Q:NT/Y/P":PD6>?K+.9T@2[YDI9(Y"8:
M?5EWX#U%YT7"<HI^?LNJZGD/?'0\?$!OTR3E,LA$D+YCGNR8)PVJ=0#U-;U+
MBR(M[D1G9G&1B/S$&%3+N*35<Q1S$2HY0<1^@8A!<!^K6OQZ2GQ9K>*$GHW$
M4%2TO*>CZ8\_8,?XI8_K#9C=@-73X?W4]8AEV(9S.KG?IQ4R:@@)%@&!26R:
M.S;-@6P>P^ &T]D;= _;KF?(0SY3S5ROPTH/DN_YEBV;A:K9&%N6+UM%/58>
M=GUK9R8-D;4;(JOQ,P\,D>A"<>VM1)V+<6FVGM<35S-_+%FVH&4E)K=/ZY1_
M07]=LRQ#XMKU$)>+O_N&SH(L?DBP !(LA 2+@, D]NT=^[:V0<ZK:MWT!;M%
MR>;*4=7,HW4AF$=BUD9AOLK8%THW)8&NUF6RK.OE2C34_N385P[:X$/+P5;F
M0M&5CD4Z/0<9,X0$BX# )**='='.MR2ZCUQ'X<-VNE/;3)O5T!X^)F((&3$"
M I,H<W>4N5]'V6I=UD<XX@S1S[1,TJHQ8JOZUJUZJBFU48<VI:M0XAA&YTH9
M0$8,(<$B(#")7V_'K_=-^.WCU%-HZ,Z+,VTR0SOQZ7@A9+P("$SBR=_QY/][
MGNYIQ>O[3&$C,N!EFM3/)8]3;,JK%ZB@O#Z\^>TAY<LES1;HEHG9-_[\5--J
M4QS:M+["'G%P]SH*&3&$!(N P*1BP$8K#1C?OQQZY0)#H6WL=KM<G_S0-C\F
M9 @:,H)"D]G=$WZPEMW=74^7W9+RM!0<\F7)UG=+L;]Z-%V5[*Z,\Z=:6!]Y
M: ]OT:0FM@S;ZCZ"@D8-0=$B*#29ZU;JP7JM9\=U7"RV_.:TX KUARGOI5G5
M;,:^Z;O=1H4468+C@H:@02,H-)F^5MO!>G&G>4P9UP+ZHN9K18LJKF^0>DDQ
M>X0T$W<YT08<S,DQ,4/0F!$4FDQ)JR5AK5@QW<B\B23SIEN9-SL@\[[>8DJU
M:QK$ZY(#*@>!HH7'G4($%51FI]5ZL%[LN1!W'!LV>FE0]17B>^H-!J0D$H"B
MA:!HT9,#(M/0*C%8+\6$Q4*SOO N+D\0<1IUFO3R!"EPS+"JJ;@>=ARB/ ^
MQ@U!T2(H-)G15JC!>J6FP^A1++KJTH#E.*[9;3?53EEEP*H(XQO$WUL9V(ZY
M:C>V+-?MSE(]9C;VR:'";_4.K!<\CEM;,[%FU%3=P75\;-E^=W'F:,M G_3@
MN@:5/:#09,):X0/KE8_#RV=:DGRUM V/>%UIN,>N6XL!5J4*S[(\16SJL1O;
M=K=3HCXS$QNVTU_:I!4%B/$?KJ(1R"?J&2A: (H6@J)%4&AR$;3: =%K!]]X
M,4T??7!5].@'V##L3I<&H%%#4+0("DWF>^^O(GK]X!NLJ1'U.=XV2.="/M/G
M-;BCCXD9@L:,H-!DYEKI@.BE@_^%I*_/<7 _JVH#=DWE7A$T: B*%D&AR471
MBA=$+UY\-V&?]*D'7E<PU&<_N.F/B1F"QHR@T&1^6_F#Z.6/(7HA49_]/1<[
M74I M9"C8H:@,2,H-)F25@HA>BGDJ_1"HDH6V/2[.I4^\F!N0,6/H\X@@HHI
M<].*&D0O:NC50J+J$MA4_G.@#S&8!-#_D8"B14053:3QD$EH)1.BETST6N&K
M57F"C,VCN-G+4H\*XF)K8RXS=:QEH,]X, N@>@D4FLQ6JY<0O5ZBZH!/,]0C
MEA#+5&3W'CM%+.G#LCWL=_\AUV,WMK#G=.>?'C/BBZ+H%/5D[SV+^KV;=W%Y
MEQ85RNBM<#1.7%%4Y>95ELT.9ZOFU8L/C'.6-YM+&HM'IMI '+]EC#_NU&]S
M[%XHFOX#4$L#!!0    ( ,V J5:*T KH\PD  !LX   8    >&PO=V]R:W-H
M965T<R]S:&5E=#<N>&ULM9MM<^(X$L>_BHK;NMJM"H,EV8!S"549/%,[53M)
M:LC>OE:,"+ZQ+=86>=A/?Y)M,$@=D?$X;Q(,K;;Z;ZGUTX,OGD3QO5QS+M%S
MEN;EY6 MY>9\-"KC-<]8^4%L>*Y^68DB8U)=%@^C<E-PMJP*9>F(>-YXE+$D
M'\PNJN]NB]F%V,HTR?EM@<IMEK'BY2-/Q=/E  ]V7WQ+'M92?S&:76S8 U]P
M^>?FME!7H[V799+QO$Q$C@J^NAQ<X?,H\'2!RN*_"7\J#SXC'<J]$-_UQ9?E
MY<#3->(ICZ5VP=2_1S[G::H]J7K\W3@=[.^I"QY^WGG_7 6O@KEG)9^+]*]D
M*=>7@^D +?F*;5/Y33S]SIN  NTO%FE9_45/C:TW0/&VE")K"JL:9$E>_V?/
MC1 '!90?N !I"A"S@/]* =H4H&:!\2L%_*: 7RE3AU+I$#')9A>%>$*%ME;>
M](=*S*JT"C_)]7-?R$+]FJAR<C:_N8X^72\^14A]6MS\\26ZNE,7BSOU[^NG
MZ[L%NOF,YE>+W]'G/V[^6J A^G,1H5]_^0W]@I(<W:W%MF3YLKP8254;[7,4
M-W?^6-^9O')GBKZ*7*Y+]"E?\B50/G*7Q\3A8*1DV&M!=EI\)$Z/5YOB _+P
M&2(>H4"%YN[B7YDJ3L95<0+%XRX>\?@#HA@J?A0-W3]96OFCKSU95J[12O7K
M$JT*D2&5*@HFD_RA[FN)3'AY#CVVVJT/N]5YZ+S<L)A?#E2B*7GQR >S?_\+
MC[W_0)+UZ2SJR=F1G/Y>3M_E?7:M<G"2QR+CD&9UV7%55J?:QQFFOGJ*CX=:
MV$8DG$X,J\A9C8Y!!OL@ V>;N5K^3Z4<E=9EB:10>3T6>9RD'.7[Z/7W^BK6
MS6M3B,=$=3YT__+V]A7TV;[Z=!;UY.Q(^O%>^K&S?45<.8T3ID=#2+6Z='#0
M>";!9&RT,-MH'(X]HX$YZ]$QRLD^RHDSRJM,%#+YY]4H)U8 A$ZF1I20T3@T
MHG36HV.4TWV44V>4W_AR6V.-&B+EFJO.4A0O5=?(Q#:72*Q0H8%D*%;#;<D1
M*TLNP3%T:L6*QZ'Q1.>V$?%#,Z\XJ]Q1D' O2.@49"%%_'VH^6R)5!)1T%I6
M30#Q9_T93*FA%51(K,AMHTE S ;OK%O'R+'7 I;GC/U6Y\@*DQ6EJX!C7I9(
M(1,2]Z5(N>2JD3RJC"L*E3!!C/*L(/UP0@TE "L2>-B0PEW7KEH<P"9V:G&C
M.D.!6,^C#"@:MCL.M30#C*9FOW&'U%4RTDI&W!BW9OD#+W4FJ;-$U7;2A-TG
MZ>MC;..TIT&V5V]17]Z.!6VQ&#LQ<785QSH'E[K=\>21W:=@^FF\'+:-(0Y"
M8@ZY@%TX'IMMZ#W(%;?HBMWL^N5$@O&!OC()S$!MJR&>>%,SV[KKTC76EF"Q
MD])4NN4;EBQW(TN3:JN\$V^+0NG@&&T;WT=*>%YH*F%;#;'OFSJ\!TWB%B>Q
MFR>;5/MZJ#8K#@/KF0-&YL@3N2O2-="6*/$)I-SUYPU[>;4SV\@XQ%-L/5C;
M#'LXL%KX>[ E;N$2N^E2!5QL^=$8 ,9L4^$0>\1NS8 =Q19$N2O5->@6(+&;
M(.OF?"ID&P>I_9!MH^G$#/8]D)&TR$C<R!CQ%5>I:JF&*)6XMW"PQ :^X=CS
MS?$),*.A9TRI(G>%N@;<<B%Q<^$^X(>"Y1*,%D(USS/G ^[[_"BI--X.5VS:
M&QZ'VO(<<>+-[&8/L"E7\Z%33;KQ9HRZ!)MQ V;$IX'YF-\#O4B+7L2-7M<_
M0_3$!BU,J)7. #/?Q^;(%KEKVE6)ELB(_T.+LWH*6+YE\8ST1%>-6'UZB_KR
M=JQI2W[$37Y7\=];-=&NUA7$2K<QU;+DRQG:I$Q3G^) KBPV>N()2@MA73@Q
MY]!ST"X8>R;TNZO;58X6 (D; &^W1;QFFH"5&!DKOG.I\0B57''PZ[T,(#XR
MH=@2 ;*C_MB</;LKV56$%@Z)&PYO"Q%SOFQZ6<9D$WK5&DJ6_J@Z-B!2ZEMK
M,8 9GH3FXE7DKGM7;5J.)&Z.W&?CK5Z62W(P"8$J0&1) VJE8L".8,]<SXW<
M]>RJ0XN6)/RA7+Q*<I;';\G%/5%BHU:?WJ*^O!UO/;8$2T\N>A[TNZ0LMTK2
MNK/%(LM4AB[UDC"X_6@#:^ 18W8]AZS&%L>[:]E5A19KJ1MK=RG8#!O)=2&V
M#^OFJN";G:$:M!0"9Z N-@&;] N8#$,:6JJ\QXHF;0F8N@GXCCVCIT2NUR)=
MJEZF%^)2)E4*:M9\RS4K="*6,N7U(K&23X_<\@6Q)U; APTH0,#4;!!SR,K:
M@777OZL^!_OV;DJ^+1*5?C8LU0V#O302Y$CR(D.I8#D</[!>20(S)8-6:MPV
M%7@/.J8M'=/3>^W6/.%7/4S]IL<I*$&#DM@KEKZ]FPA8J7DT-FG.7>6NDK1P
M2]UP^VFUXG&U<<B?XVI+ *E9$T=QLSV@VH=6[*S63?>61T4W>;-=H&HDBR36
MG4S_#HH%4"VQ-I@A*XS-DPZ1.YBN8K7H2]WHVYS5**H)=O+3RMBH2ZQC&W/
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
M<BR _97%6&X7[*#_9)K] U!+ P04    " #-@*E6R5D/()L"  #4!0  &
M 'AL+W=O<FMS:&5E=',O<VAE970Y+GAM;*U436_;, S]*X2'[C 4MN.D79$E
M 9*TPPJT6-&/[3#LH-AT+-26/$JNNW\_2G:\%&ASV2[6!_4>'TF3LU;3HRD0
M+3Q7I3+SH+"VGD:120NLA EUC8HMN:9*6#[2-C(UH<@\J"JC)(Y/HTI(%2QF
M_NZ&%C/=V%(JO"$P354)^KW"4K?S8!3L+F[EMK#N(EK,:K'%.[0/]0WQ*1I8
M,EFA,E(K(,SGP7(T74W<>__@F\36[.W!1;+1^M$=+K-Y$#M!6&)J'8/@Y0G7
M6):.B&7\ZCF#P:4#[N]W[)]][!S+1AA<Z_*[S&PQ#\X"R# 736EO=?L%^WA.
M'%^J2^._T'9O)W$ :6.LKGHP*ZBDZE;QW.=A#W#V%B#I 8G7W3GR*L^%%8L9
MZ1;(O68VM_&A>C2+D\H5Y<X26R7C[&*M58K*DO YTCFL"3-I0:@,OMH""6ZE
M>32SR+(S!XG2GGC5$2=O$(_A6BM;&+A0&68O\1&+')0F.Z6KY"#ALJ80XM$Q
M)'$R/L W'B(?>[[Q&WP^+A_G Z> +/_ 5J*!'\N-X7RD]N=K07><D]<Y70=-
M32U2G ?<(@;I"8/%^W>CT_C3 <630?'D$/N_U.J_$,.%2 MGYBO(=<D-+=6V
M_TN1.)EIJAME,6,KP2@^ EXJ3>A NB'NXB=4#2?9V1U+C21U9D"J3*:"D5.X
M+PCQQ<\#7'I9 I?^6A K2$Z/X9+=E+#65.M>=A*',1RYY8R7>R%;H> .*YEJ
ME36I98_70C4Y5[8AIWNMPV.XNC\/X0-K#3]V8,<Q'H4G</1:Q:*]3N.0MWZ>
M&/!A=TTWW XC:]EUZM_GW;SC6+92&2@Q9RC[/PF NAG2':RN?=]NM.7\^FW!
M8Q?)/6![KK7='9R#89 O_@!02P,$%     @ S8"I5B>2:;+: @  %@8  !D
M  !X;"]W;W)K<VAE971S+W-H965T,3 N>&ULC55-;]LP#/TKA#<,'>#67XG3
M9DF I%VQ'@H4+;8>AAT4FXZ%RI(GR7&[7S_*3K*L2+-=;)+B>WJ417K2*OUD
M2D0+SY609NJ5UM;C(#!9B14S9ZI&22N%TA6SY.I58&J-+.] E0CB,$R#BG'I
MS29=[$[/)JJQ@DN\TV":JF+Z98%"M5,O\K:!>[XJK0L$LTG-5OB ]FM]I\D+
M=BPYKU :KB1H+*;>/!HO!BZ_2_C&L35[-KA*EDH].><FGWJA$X0",^L8&+W6
M>(E"."*2\7/#Z>VV=,!]>\M^W=5.M2R9P4LE'GENRZEW[D&.!6N$O5?M%]S4
M,W1\F1*F>T+;YR:Q!UECK*HV8%)0<=F_V?/F'/8 Y^$;@'@#B#O=_4:=RBMF
MV6RB50O:91.;,[I2.S2)X])]E >K:943SLYNY!JE59JC\4&BG0266-U:D&T8
M%CU#_ 9# K=*VM+ 9YEC_C<^(#4[2?%6TB(^2CBO]1F$D0]Q&"='^))=B4G'
ME_RCQ!>XXB83RC0:X?M\::RF._'C4,4]X> PH>N3L:E9AE./&L&@7J,W^_ N
M2L-/1^0.=G('Q]C_ZXL<93BL[S4M[ 6 T8D8RRSFP"S8$H&:%36H C)E+)S4
MFLN,UTR(%Y<H<Z;S;LF'MN19":RNM7KFU":.+K,-$SW4=1X47)/)I;^Q:#JX
M7N+F(RC=J:&!(O@OMA0(:R8:/(/7@GWBHUE@G$C2Y4062I!.+E=PPB5%5&-(
MFODX!KI#7 #=H2O,L%I2*0DY]ZP%IU!S)@R\A^'('PW.G3'T1W$*CS1 3KD\
MI5)6=' &D@L_&:4P2/TP'<$UEYPZ+8>54KF!Z,(?Q!<01WZ2#H@DBE)_.$R<
M%2=^-!S!H=L0[/5JA7K5321#M372]FV[B^Z&WKSO]3_I_<2\97K%I0&!!4'#
ML]'0 ]U/H=ZQJNXZ?ZDLS9'.+&EPHW8)M%XH9;>.VV#W*YC]!E!+ P04
M" #-@*E6J$&@(+8$  "M"@  &0   'AL+W=O<FMS:&5E=',O<VAE970Q,2YX
M;6R=5FUOVS80_BL';RA:0(WU+CE-##AIN_5#AZ#I5@S#/M#2V28JB2Y)Q<E^
M_1Y2CNIDJ3L4L,SCR[T_1][93NG/9L-LZ;9M.G,^V5B[/9U.3;7A5I@3M>4.
M.RNE6V$QU>NIV6H6M6=JFVD<AOFT%;*;S,_\VI6>GZG>-K+C*TVF;UNA[RZX
M4;OS232Y7_@@UQOK%J;SLZU8\S7;W[=7&K/I**66+7=&JHXTK\XGB^CT(G7G
M_8$_)._, 4W.DZ52G]WD77T^"9U!W'!EG02!X88ON6F<()CQ92]S,JITC(?T
MO?2WWG?XLA2&+U7S2=9V<SXI)U3S2O2-_:!VO_+>G\S)JU1C_#_MAK-9,J&J
M-U:U>V98T,IN&,7M/@X'#&7X#89XSQ![NP=%WLK7PHKYF58[TNXTI#G"N^JY
M89SL7%*NK<:N!)^=_Z)4O9--0Z*KZ5UG1;>6RX9I80Q;<S:UT.%.3JN]O(M!
M7OP->0F]5YW=&'K3U5P_Y)_"MM' ^-[ B_BHP,56GU 8!12'<7)$7C(ZG'AY
MR0\Y3*^EJ1IE>LWTUV)IK 9L_GXJ#(.6]&DMKI1.S594?#Y!K1C6-SR9/_LI
MRL-71WQ(1Q_28])_(&E'Y3UM[7<"-6XO[U"<6Z6M<+N&URA92SMA"+^5:E#V
MAI[+CNQ&]0;"S(M3NM)JR70I=&WH^LY8;@U]5%8TH]S L:L5O>:*VR5KBC./
M@8A^IJ@H@S1.025)4!89B#B*@W@VHT5=2U_N+^F36O:ZHT7UI9=F6'SV4XF#
MKRC+0O^AL%&V'0I-:^ZJ.T*^.].(!X>?1T$:9B_&\9L6)@-*X]$^6!?&(6P#
M9YK^/VU)///?8RVH ]G0O@X>QR!)9SX&45 4"7UBVH@;IDY9I*92&I5(Z_M\
MR78KI'9)<NG12 OCT\S4#I7+KG(?ZCLY!( 8 +!CS<=2_-#@_P;I"4AI90SR
M5?5MCZC B-_P*CV]^N96&BN[-6[@&[PL6RQ;KC:=:M1:LO$!0C208U 9L)%[
M:A:DLW"_F:8>2UD4(/ N?&$0(_"7_M*%I9J'U)B-W!K*PF VRRG-@RR;41JD
M2>'7P)IF01@FE 6S<$8?M:@1>M$R%>"(\5\F"=3,W+QP\P)T'"6(P,NM5A7#
M/5=U0E<;7VQ[EWP=I6$X0L/1C^<P&Q&-DM([D =YYEV!?67N-\.@B'V!A G4
M.[S$.2R(:-&B9N4_ _KX%J^\85^VLJN:WD$ "56]IDL%0&"S=I11C:Q]%JXM
MA@%&@.>[KD+0CN'AH\?8X>OP%2+OO>\P#"J,=?(T8M#U/I%EXO)4AB5=X_%&
MS@-:<\=:#%>3J/$L2G=3N_<=TK*T</^YXXJ#I"B',4=N '4&;%KOP*JW[IH7
MAW& 9CSID&?Y90-Q+@B/@!\@6"Y #GSR^QD,2!Z]"=_BP8$G?X+9I:1'SC^P
MZZ9J0!#F[,L]#4H@!I,49!Y%CLQ QGGIR)R2(,)%"+* LV42.V?1I:TLQ*1!
M4A8#+$+ XJD7:'K00@#\:]\H&:J<04,W,:Z.O=AB:$&^'A\:.21S+3M##:_
M&IX4V83TT!P-$ZNVOB%9*HM*\^0&_21K=P#[*Z7L_<0I&#O4^;]02P,$%
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
M%-U\$_U_'L2?+)[(FJ#AVPO-B1(QJZ0M(*P+M8QP$N>SEWR[THG/NVRR]"!
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
M7JSHP4(;'&A_;8S?*R'!X0F<_P=02P,$%     @ S8"I5IF"/2.J!@  E1
M !D   !X;"]W;W)K<VAE971S+W-H965T,3<N>&ULO5A=4^,Z$OTK7;G4+:@R
MCNW$))D!JF"&NSL/4Y."F3L/6_N@V$JB&MORE60"^^OWM.P8AP*6A]U](+8L
M]=?ITRV)\YTVO^Q62D</95'9B]'6N?K#>&RSK2R%#74M*\RLM2F%P]!LQK8V
M4N1>J"S&212=C4NAJM'EN?^V-)?GNG&%JN32D&W*4IC':UGHW<4H'NT_W*K-
MUO&'\>5Y+3;R3KH?]=)@-.ZUY*J4E56Z(B/7%Z.K^,/UE-?[!7\JN;.#=^)(
M5EK_XL&7_&(4L4.RD)EC#0*/>_E)%@4K@AM_=3I'O4D6'+[OM?_A8T<L*V'E
M)UW\5+G;7HSF(\KE6C2%N]6[O\LNGI3U9;JP_I=V[=HT&E'66*?+3A@>E*IJ
MG^*APV$@,']-(.D$$N]W:\A[^5DX<7EN](X,KX8V?O&A>FDXIRI.RITSF%60
M<Y=W3F>_MKK(I;&__S9/XME'NOFK4>Z11)63GSZ]1M@Y?=(EJ& %HWD^=C#.
M*L999^BZ-92\8FA"7W7EMI9NJESFA_)C.-U[GNP]OT[>5'A5FY"B.* D2B9O
MZ)OT2$R\OLDK^KJH_W&ULLZ +/]\*<96Q?1E%5Q 'VPM,GDQ0H58:>[EZ/+W
MW^*SZ.,;#DY[!Z=O:?]OINI_8H@')1Y^GFYEW9ALBU6T-'IC1&GI6T7?,J=7
MTE!RYA,7!:0;0]=:F)STFCXK@W+5QI)HW%8;]2\8$>1V^O11"D-UJXJ<1D?H
M#30U?SA*(U1(4; K4(4.9!W\5=6&LM8SZSW#4KU>6S2\6CM9.24*RE71^!C6
M1I>DK&U$E4G+>@YD&Y#7>)?]^'3E4<B&*'0NVI ^-X:-NZW$GY&2RK8")%<
M?17P?H]#$M!.#D+**9E&03J=D]T*\X(C:,=TM BG^XA#^@D<G"H\8FS22.[)
M[, :7@/0>Z$*L2JDEQVBYV-R6V5[>//6\[6R&<!A_T).WE?Q2)RRUN%W) Y=
M-\\5PP(U;^9NEKXG=P&)PFJT2+?U,=9&\59"T%9K*/N_I?8[C/O,#$/9![A#
M("0?:D!"^@"UZ7\B!9J:*JAK:IX3N<JITFYH1U2/!ZZ'=.7#>29\%,_#LQ[5
ME@Z<E ,>K!O7'$2!X+X!@UH7*GO$]T(X)M0P9[9-D3G$#_3!*BPP&^G#DP^
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
M&IT-^P'HV@?KP*K2>\]*67(R/\SITX': 6A]K>BHF\!MT'Z,9K\!4$L#!!0
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
M!ET*!IYO\ I?$Z +^)%RH2V]9,O1P*_IQE!B4OO[5- -Y_ TIVNED:E8BI.
M>L6@WF&0O'W3OXX^GU$\[!0/S[$G*VK-K!;HZ^7?"-5I@=I5DCK)'2]QA[+&
M4\K/<]^QM' $5'O(E:"FY7+;OD34E*<T5;6TF-&MAGYT ;242GNOJM;4J=ZS
M\?>.I4+-56: RXRGC) C6!<:\<6[ *HJ%T!5?6":%,37EW!/;@3,E:Y4^S[C
MJ!?!A5MN:%DSOF<25ECR5,FL3BUY?&"RSJEHM7:ZYZIW"=_6MSWX0%I['QNP
MXQCT>U=P<:H8X5$W4<A;/S,,^+";QNI.N[$T;;KQOWDSTRB6+9<&!.8$)?]7
M >AF3C0;JRK?FQME*;_^MZ#1BMH9T'VNE#ULG(-N6"?_ %!+ P04    " #-
M@*E6[4V:Q98"  !^!0  &0   'AL+W=O<FMS:&5E=',O<VAE970R-2YX;6R%
M5-]/VS 0_E=.V32!%,C/IM"UD0H,C0<D!-MXF/;@)M?$PK$SVZ'PW^^<M*6;
M2O<2WYWO/G\7W^?I2NDG4R-:>&F$-#.OMK:=!($I:FR8.54M2MI9*MTP2ZZN
M M-J9&5?U(@@#L,L:!B77C[M8W<ZGZK."B[Q3H/IFH;IUPL4:C7S(F\3N.=5
M;5T@R*<MJ_ ![??V3I,7;%%*WJ T7$G0N)QY\VARD;K\/N$'QY79L<%ULE#J
MR3DWY<P+'2$46%B'P&AYQDL4P@$1C=]K3&][I"O<M3?HUWWOU,N"&;Q4XI&7
MMIYY9QZ4N&2=L/=J]177_8P<7J&$Z;^P&G*3Q(.B,U8UZV)BT' YK.QE_1]V
M"L["=PKB=4'<\QX.ZEE>,<ORJ58KT"Z;T)S1M]I7$SDNW:4\6$V[G.IL?B.?
M45JE.1H?) W!T3>V$&B.IX$E>)<4%&NHBP$J?@<J@5LE;6W@BRRQ_+L^(%I;
M;O&&VT5\$'#>ZE,((Q_B,$X.X"7;7I,>+_E/KZ]PQ4TAE.DTPL_YPEA-P_%K
M7\<#8+H?T EF8EI6X,PC11C4S^CEGSY$6?CY -UT2S<]A)X_D #+3B"H);Q1
MOU1-JR0Y9A_?@XC[^?X[ 3X4BC1G+);N9%LC+)4@\7)9P1&7%%&=8;(TQQ.@
M*^("Z(JNL,!F@1H2<N[9BF;4HN9,&/@(H[$_3L^<,?+'<0:/)-03+D]:K2KB
M82 Y]Y-Q!FGFA]D8KKGD--$E5$J5!J)S/XW/(8[\)$L))(HR?S1*G!4G?C0:
MP[Z?'>QHHD%=]<HWU%LG[2"/;73[N,P'3;VE#R_3+=,5EP8$+JDT/!V//-"#
MV@?'JK97V$)9TFMOUO1 HG8)M+]4RFX<=\#VR<W_ %!+ P04    " #-@*E6
MYX("W.4$  !B#   &0   'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6R=5VUO
MVS80_BN$.Q0MH-9Z?TD3 TZ:=OW0(4BR%<.P#[1TMHA*HDM2<;)?OX>4HR:I
MJP4#;.M(\=Z?.YZ/=U)]U3618;=MT^F366W,]F@^UV5-+==OY98ZO%E+U7*#
MI=K,]581KQQ3V\Q#WT_G+1?=;''L]B[4XECVIA$=72BF^[;EZNZ4&KD[F06S
M^XU+L:F-W9@OCK=\0U=D?M]>**SFHY1*M-1I(3NF:'TR6P9'IYD][P[\(6BG
M']#,>K*2\JM=?*I.9KXUB!HJC97 \;BA,VH:*PAF?-O+G(TJ+>-#^E[Z!^<[
M?%EQ36>R^2(J4Y_,\AFK:,W[QES*W:^T]R>Q\DK9:/?+=L/9))VQLM=&MGMF
M6-"*;GCRVWT<'C#D_D\8PCU#Z.P>%#DKWW/#%\=*[IBRIR'-$LY5QPWC1&>3
M<F44W@KPF<5'*:N=:!K&NXI]Z@SO-F+5$%MJ34:S5]<<*_WZ>&Z@S++,R[W@
MTT%P^!/!$?LL.U-K=MY55#WFG\/(T=+PWM+3<%+@<JO>,C_P6.B'T82\:/0\
M<O*B_^?Y>Z'+1NI>$?MKN=)& 3]_'PK#H"4^K,76U)'>\I).9B@:3>J&9HN7
M+X+4?S?A0SSZ$$])7URA1JL>1LLU&_U9W;%+VDIE;.K8%6U00T8?,GU2^&'3
M'VI1W[7H00O;<<WP6<L&U0[XB(Z96O8:,=:OC]B%DBMB9UQ5FEW=:4.M9M?2
M\&:TWK/L\.8]E=2N2+$P<1D/V"\LR'(O#F-04>3E60(B#$(O+ JVK"KAJOP-
M^R)7O>K8LOS6"SULOGR1X^ [EB2^^Z*>4:T=ZDLIZLH[ANQVNN&/#K\*O-A/
M7H_/GUH8#9@,1_M@G1_ZL V<<?P\;5%8N.]3+4"]:-@>]4]C$,6%BT'@95G$
M)O"4C'A*GHVG'TKB$((FQ1U&T .Y?"BU'2F:0LWC&/P8]Q^+]Z.26@,"9=_V
M"#15[#?<;X=WSV^%-J+;H)??X([:8MM067>RD1M!VL4< 09L0"6 6^JHPHL+
M?_\RCAT\D\!#+FU&?"]$+L]<^X:EBH9LZUIL-4M\KRA2%J=>DA0L]N(H<WM@
MC1//]R.6>(5?L&O%*V(=;XEEX CQFT<1U!1VG=EU!CH,(D3@S5;)DN">C3-7
M9>W:VMXE5YJQ[X]HL_33-<Q&1(,H=PZD7IHX5V!?GKJ7OI>%KN;\".HM!,,4
M%@13P$M'X*7/!MZR15<1_PSU<7Z+\4/3(>Q-2CR,O4>B:1#M>I;HRJ;'/06"
MR5ZQ,XE;"R\K2VG9B,KAY<K@X=KI4"$ETCN%W.M:$3VZ"+^#^;/+$D((%=I8
M>0K9ZGH'N3RRB,K]'/V[@6L;CVVH(\6'ZXI7& 6$O93L3 -I29S9W]1RA5Z4
MY<,S+::2DXW)R9Z=G'/42NMB\2B6S^T7DXH.Y^RZ)D:CUG5O[)7,GRC''(:
M&'K3(!XVBT]ZC(=LVPS;.A?_72P>$Y/WV <,!TC%GV"V<>A17I=D1^ *U0YS
M]LTZ]G(4)Q8QR#0(+)F #-/<DBF+O #7&,@,V<JC$(!!+^1K S&Q%^794($^
M*O!0'N</YC[TF8V;;C4KK4'#"#CNC@/T<I@;OQ\?IF^@<2,ZS1I:@]5_FZ&S
MJV&B'19&;MT4N9(&3<V1-?X$D+('\'XMI;E?6 7CWXK%OU!+ P04    " #-
M@*E63#FZP.@"   M!@  &0   'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6Q]
M5=N.VC 0_9516E5;"6VN0*" Q%ZJ5NJJ:+>7AZH/3C(0:QT[M9T%_K[C!%(J
ML;P07^:<.<?V#+.MTL^F1+2PJX0T<Z^TMI[ZOLE+K)BY5C5*VEDK73%+4[WQ
M3:V1%2VH$GX4!"._8EQZBUF[MM*+F6JLX!)7&DQ354SO;U"H[=P+O>/"(]^4
MUBWXBUG--OB$]GN]TC3S>Y:"5R@-5Q(TKN?>,IS>)"Z^#?C!<6M.QN"<9$H]
MN\GG8NX%3A *S*UC8/1YP5L4PA&1C#\'3J]/Z8"GXR/[Q]8[><F8P5LE?O+"
MEG,O]:# -6N$?53;3WCP,W1\N1*F_85M%QO''N2-L:HZ@$E!Q67W9;O#.9P
MTN 50'0 1*WN+E&K\HY9MIAIM07MHHG-#5JK+9K$<>DNY<EJVN6$LXMEGNL&
M"_C"6<8%MQP-7'UCF4#S?N9;RN#B_/S =M.Q1:^PQ?"@I"T-W,L"B__Q/BGK
MY45'>3?11<)EK:\A" <0!5%\@2_N[<8M7_P*WXKM6V_ 9 &M=R8,_%IFQFIZ
M(+_/6>X8D_.,KFBFIF8YSCVJ"H/Z!;W%NS?A*/AP06_2ZTTNL2^>J B+1B"H
M-9RYJG-R+Q*>EWMD%B>/(%=4>,;2*J6V)<):":I@+C=PQ26MJ,;0(9KW4Z!+
MX@+HDNXPQRI##3%-CJ2YJJB#&-85(1U[AA+7W!IX2[<Z"**4!N%PD(Z2'L,E
MH;"-5I1;@V4[TA0/HB2$,!JDX;B/W3*MF;1[VDW'$22#<#*!^ZH6:H\(5$#Y
M,]2-SDNJ7:@%D\Z:U3QKG")#]6;+$D5!!H9Q3/AA.NS)Z8BL;G+;:&><./3&
MZ1B/*#I*)O"U5<<.T;AS3BD@&DSBD 0E04CFZ#0FJ1LDT2 ,AW#N7?@G)5PA
M97&-RMU"(VU7S?UJWPN770OX%]XUT@<2R<F8P#5!@^OQT /=-:=N8E7=-H1,
M66HO[;"D?H[:!=#^6BE[G+@$_3_$XB]02P,$%     @ S8"I5M&SW$7; P
MZ0@  !D   !X;"]W;W)K<VAE971S+W-H965T,C@N>&ULC5;;;MLX$/V5@;HH
M8L"-;KXUM0TX:8O-0Q>!G>X^+/:!EL:6$(K4DE1<__W.4++K!(Z[#Q:'Y%S.
MD&<XGNZT>;(%HH,?E51V%A3.U3=A:+,"*V&O=8V*=C;:5,+1U&Q#6QL4N3>J
M9)A$T2BL1*F"^=2O/9CY5#=.E@H?#-BFJH39WZ+4NUD0!X>%9;DM'"^$\VDM
MMKA"][U^,#0+CU[RLD)E2ZW X&86+.*;VR'K>X4_2]S9$QDXD[763SRYSV=!
MQ(!08N;8@Z#A&>]02G9$,/[M? ;'D&QX*A^\?_6Y4RYK8?%.R[_*W!6S8!)
MCAO12+?4N]^QR\<#S+2T_@N[5G= REECG:XZ8T)0E:H=Q8_N'$X,)M$;!DEG
MD'C<;2"/\K-P8CXU>@>&M<D;"SY5;TW@2L67LG*&=DNR<_,E6F>:S#6F5%NX
M*X39HH6K1[&6:'O3T%$,U@RSSM]MZR]YPU\*W[1RA84O*L?\I7U(V(X DP/
MV^2BPT5MKB&*^Y!$27K!7WI,./7^TO^5L% Y+%$*ASDLF""E*RG_OQ=KTB+&
M_'/N!-H @_,!N(IN;"TRG 54)A;-,P;S]^_B4?3I OS!$?[@DO?7]Z6ML[#>
M4PZU-HXO#5:XI:)QYX!?='T>^*-V0E+UG4;-.I;0DP!K[0IP!?+U)/XX28A?
M&=12* NERF1#I" !=&,(/%%$65H@R6I9YOX:5HX&SL""WL"]RG2%L$.#(#BD
MI&>$"$H^7*$;2Q%M[P8>"X/X@GI Q"DE=,2!;\)D!22C?@OTP>@UPITPN875
MWE) "VVJ;^_P83,D@\^H&LK_-QA']+D:#'LT)$/ZI!_I$T>\')-,MX4^,!],
M3G92UYP:#& T8NOW[R9)G'R">##ROQ4]3W1B?=BB0D-!V5#D5/@E$Y)?,$HI
M&D4P2DB(*964(R<3CMB/TP&-D]1/DGA,XR!A;..8P<4I7*#@\$C!X44*KJ@Q
MY TQC<[B)1T7668: MU5TOX<!R_Z/L]!>I44\\UIS[27W!)=3$\(I!\3H6J)
M@&>(\"LF?:EJJ??(=?1,-Z RDIS.GC[PV\]4K:@?6N%;RKTB)CAM]AU#/F.&
MU1H-G73',W\/ R;%X:9/I79O>;:X)G1QR<<A3*+N*N^$+: 6^[8TKN+^.";>
M'9Q=C=*>7QQ/>O"'5A\R5K?HG/3%]%.1G++FF#YIG/1>'0^Q9#QZ R[OG.-/
M>-)^*B3TW&0M9+I1KNU$Q]5C'U^T[>NG>OLG@,IT6]);(7%#IM'UF.ABVL;:
M3IRN?3.C=X=:HQ<+^B^"AA5H?Z.U.TPXP/'?S?P_4$L#!!0    ( ,V J59_
MYF$R& 4  #P.   9    >&PO=V]R:W-H965T<R]S:&5E=#(Y+GAM;+U7;6_;
M-A#^*P>W*!J B"7JS7(3 XG38MD:($C2%L.P#[1$VT0D424I._GW.TJR;*N.
MDP'#/MBZ(^^=]_#E;"W5HUYR;N ISPI]/E@:4XZ'0YTL><[TJ2QY@3-SJ7)F
MD%6+H2X59VFME&=#ZCCA,&>B&$S.ZK%;-3F3E<E$P6\5Z"K/F7J^Y)E<GP_<
MP6;@3BR6Q@X,)V<E6_![;KZ5MPJY86<E%3DOM) %*#X_'URXX\O RM<"WP5?
MZQT:;"8S*1\M<YV>#QP;$,]X8JP%AI\5G_(LLX8PC)^MS4'GTBKNTAOK7^K<
M,9<9TWPJLQ\B-<OSP6@ *9^S*C-W<OT;;_.I TQDINM_6#>R 0HGE38R;Y4Q
M@EP4S9<]M77841@Y+RC05H'6<3>.ZBBOF&&3,R77H*PT6K-$G6JMC<&)PB[*
MO5$X*U#/3+XPH> [RRH.K$CABBNQ8K90<%UHHRJLO]'P\8'-,JY/SH8&?5K-
M8=+:OVSLTQ?L>W C"[/4\+E(>;JO/\18NX#I)N!+>M3@1:E.P7$)4(=Z1^QY
M70&\VI[W>@&NA$XRJ2O%-?QU,</TL6?^/I1S8](_;-+B:*Q+EO#S 0)%<[7B
M@\F'=V[H?#H2L-\%[!^S/KE'7*95QD'.82?X"ZTYKM0-9S:!%+#C[WA2*26*
M!5PR+?2A1(Z[:FW:QL@$FXE,&(&UR3<^F(&YC6!51V QACC=^)Q9G[#F"CM+
MPUQFB'_L)%& 6<I*HU%],@9<3I%!NYSPE:\X<NV7ME\/'J1A69OB&*9,+X'_
MK+!3,]N>8]MC_!EAH1YQ&YM7:!K>@^^3*(J0^/!N1%WZ:8]J)Z<RS[E*!%HO
M6<E5)^$3/PIZ7*O3FXH)#2C<U+XM2D#;$M25&L.WT_M3,*HNF"T=#8CK^YWR
MYML.3[DR8BX29E 4ES?EI=3";'U%[AY=6\>MLTB>=[QV(JY'G)#VV:E4I53H
M F;2%FHS'7AD%,=]]L4">2[QW*#/MHG$(Q+YT=8SM<9<P'T4=\D"^%.R9,6"
M8X+==I/@-F'QM@TH"KT]^E;)7&@MU3,4$L/'5N.H;4O>KV?L>_7ONC#8?]I
MG:]>L_*X2TH<W^UQ3>^Q!@KO(8Q)3%TD7"<D#@V1LIZ0CT),TH&O6Z2,WQS
M;FM^I">_\$T0NR!\3>,*JY//<,&\!ESTOP47=0F-XA? U4X> 5<<QCWNE5Z.
MXW"/;ET$J+MM0AH1BMWW=BPZ;GP(BW;X-2Q&3KA'OX9%%YLIZ+,O83&,B+>3
M<,N^6$_JDY'O]-DV$=?Q2#S:!6-,\,;V+\$8AOX>_;^ T8O\'M<#HQ\2&H\L
M^%Q*8@1?!\;0(=1S]\'XMHSW@.3&WLF!D5?@>%CKR-D?=&=_\/:SO\UFBN=M
MW74XL&8JQ39I4SETX!^U?_CF\K#D[?%MC_4&5Z62*Y%BWJ)H'@;U#7N&MWZ0
ME4+Q)K9D$]N\C6U;9A35!B\!UB:K$;9_%>A?%+HT-^G!K<6C]=N-7.2R*LPO
M_.=*2;C"#)B"R^H9\#1R'-_N4SZ>W<[>_#V^#VRO!;C%X#E/X7=6L@)+ 7_R
MHIGU"+4;S8A:?0\O!']@MJR 'QB*->^2*'")C]V(9V(0P ,3:YS>=>![Q'<]
MG/>]  [UQ7#G1H^87]3O%HWEPWR:RWTWVCV-+IH7P5:\>5?A;K@0A8:,SU'5
M.8VP!53S5FD8(\OZ?3"3!E\;-;G$YQU75@#GYQ(!WC+60?=@G/P#4$L#!!0
M   ( ,V J5;\'*3*K@(  ,D%   9    >&PO=V]R:W-H965T<R]S:&5E=#,P
M+GAM;'U4VV[;, S]%<(;A@8(ZDN<2[/$0-)NV( 5"-IN?1CV(-M,+%26/$FN
MV[\?92=>"J1YL2B)/#S'%+EHE'XR!:*%EU)(L_0*:ZNY[YNLP)*92U6AI)NM
MTB6SM-4[WU0:6=X&E<*/@F#BEXQ++UFT9QN=+%1M!9>XT6#JLF3Z=8U"-4LO
M] X'=WQ76'?@)XN*[? >[<]JHVGG]R@Y+U$:KB1HW"Z]53A?Q\Z_=?C%L3%'
M-C@EJ5)/;O,]7WJ!(X0",^L0&"W/>(U".""B\7>/Z?4I7>"Q?4#_VFHG+2DS
M>*W$(\]ML?1F'N2X9;6P=ZKYAGL]8X>7*6':+S2=[R3P(*N-5>4^F!B47'8K
M>]G_AZ. V7L!T3X@:GEWB5J6-\RR9*%5 ]IY$YHS6JEM-)'CTA7EWFJZY11G
MDT>F-9/V%2X>6"K0#!:^)5AWZ6=[B'4'$;T#,8);)6UAX(O,,7\;[Q.=GE-T
MX+2.S@*N*GT)03B$*(A&9_!&O<91BS=Z!V^C55YG%O9:.1JXX283RM2:[-^K
MU%A-S^//*>T=='P:VK7,W%0LPZ5'/6%0/Z.7?/H03H+/9XC'/?'X''IR3RV8
MUP)!;>$.,R4S+CAK7S.=7!=,[H@_E]!7\0=G*?G8UU-2SB8[+>4HAZHU-(<\
MXI '&M0(S,!6"6IP Q?D:@M5&R9S,YC#0Z$1W[P0H/IR 53?6Z:S J+)$-9,
M,)D1D(44=UQ*+G=.8X6:JQP^0CP,KZYHC8:S8 RK+-,U$X9 1E<!?:,P!AH@
M5B -#$LLPN$TG [<&L7QX!@?9?X&>32<3:,6>3H=PZFJ^4?M5:+>M4/$0*9J
M:;M.ZT_[.;7JVO._>S?D2#&I,R!P2Z'!Y73L@>X&1[>QJFJ;-5666K\U"YJU
MJ)T#W6^5LH>-2]!/[^0?4$L#!!0    ( ,V J59E?0*X1@,  /L&   9
M>&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;(U5;6_;-A#^*P>M&!) B=YHF\EL
M W':H@.:P6C:[<.P#[1TMHA2I$I2<;)?OZ-D.S'@&OLBWAWOGGN.1YZF6V._
MNQK1PW.CM)M%M??M;9*XLL9&N&O3HJ:=M;&-\*3:3>):BZ+J@QJ5Y&DZ3AHA
M=32?]K:EG4]-YY74N+3@NJ81]F6!RFQG41;M#5_DIO;!D,RGK=C@(_IO[=*2
MEAQ0*MF@=M)HL+B>17?9[8(%_][A3XE;]T:&4,G*F.]!^;V:16D@A I+'Q $
M+4]XCTH%(*+Q8X<9'5*&P+?R'OUC7SO5LA(.[XWZ2U:^GD4\@@K7HE/^B]E^
MPET]HX!7&N7Z+VP'7S:*H.R<-\TNF!@T4@^K>-Z=PYL GOXD(-\%Y#WO(5'/
M\KWP8CZU9@LV>!-:$/I2^V@B)W5HRJ.WM"LISL^7EOIK_4L,2R6TCT'H"C[\
MZ&1+)T^JIGMQ\56L%+K+:>(I8XA+RAWZ8D#/?X)>P(/1OG;P05=8'<<GQ/1
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
MF "]GW"N=A-S0/.V!W\ 4$L#!!0    ( ,V J5;_ND@X8P0  %$;   9
M>&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;+59;6^S-A3]*Q;3IDUZ%C"D2=LE
MD9JP:96>:E7;;1^F?7#A)F$%.[.=Y)FT'S_;4 B(HJ:Z^Y+PXG.X]YAC^^+9
M4<@7M070Y$N1<S7WMEKOKGU?)5LHF!J)'7!S9RUDP;0YE1M?[22PU(&*W ^#
M8.(7+./>8N:NW<O%3.QUGG&XET3MBX+)?Y:0B^/<H][KA8=LL]7V@K^8[=@&
M'D'_NKN7YLRO6=*L *XRP8F$]=R[H==Q&%B :_%;!D=U<DQL*L]"O-B3VW3N
M!38BR"'1EH*9OP.L(,\MDXGC[XK4JY]I@:?'K^P_N>1-,L],P4KDOV>IWLZ]
M2X^DL&;[7#^(X\]0)71A^1*1*_=+CE7;P"/)7FE15& 309'Q\I]]J80X 1B>
M?D!8 <(N8/P&(*H 41<P>0,PK@!CITR9BM,A9IHM9E(<B;2M#9L]<&(ZM$D_
MX[;?'[4T=S.#TXN5X EP+9GK!;$F*PEII@GC*?E%;T&2ATR]*/)M#)IEN?J.
M?$]6+BQSJPVV#6>^-D%9:C^I EB6 81O!!"1.\'U5I$?>0II#SX>QM-P@, W
M:M22A*^2+,-!QIN=')& ?B)A$$8] :V&X7?,P,.)@X=]^0S#8TA&)*)]\%8V
M4=W!D>,;O\'W  ?@>R!+X,G66/N%_$N>CH+<L;^$K+M2]77<(+$=D*[5CB4P
M]\R(HT >P%M\\Q6=!#_TB89)%B.1M00=UX*.'7OT+L?8EY[\\=FT(;<:"O5G
MGY!C3"$QR6(DLI:0%[60%X-O9EM(:87<@;27S(33)V-)=^7H['QV6 0C.O,/
MI^J\HTT\&-8'DY[424_>9<>U%(4=/TWZB39COMXVP^JI56^YAMPTE#M1"M4G
MS. CSWV_,,EB)+*6U--:ZBFV4:>80F*2Q4AD+2$O:R$O<8UZV6/"L&/4L@T-
MVHV"RXY7!R/[8-Y7==Y7J%Y]8MF1<?((198(GNX3;6;8.\;W:X/;RXQO#,OH
M$_G\%(_Z9!N,YMRW#Y,L1B)K]0(-FB5J@&WDBA%)2U2V&(NMK>;)@I_BNGF8
M[VPM:9_Q:3#M&!_KJ6V5PD:E$-7[]4*:/( +B&OK=QI\3>P@("38XNI):):3
MBKMWS3T<UMEB8[+%6&SM+FD*&1JA#P.H)0PJ6XS%UE:SJ6+HX-K^ \/ ^!VS
M>M6HX^Z(7G3=_7\4'K2I/.APZ7&3)&+/M35K MF!/>=@/-PNB0GM50&I>*CD
MPF2+L=C:HC:5#9V@^Q.U<D%EB['8VFHVQ0L=7-)_P)_3WHEU>M6U*&I=\L93
MHV8=W\Z_J3GH<-'Q+HOV?5];#A.?_5)ALL58;&U1FX*&7J%;%+4J066+L=C:
MGXF;NB0<7*F?;]&*KVN6BZY%AY][KDI8;*5*_LE>@['@QNW9*.+,6GYCKZ_6
M^T(W;C>D<WU)KU?E[DY#4VXVW3&YR;@B.:P-93":FGE-EOLWY8D6.[>C\2RT
M&0?<X198"M(V,/?70NC7$_N >A=M\1]02P,$%     @ SH"I5FLB!5B. @
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
M)N*-.OOE\0Z\?O4&O (T Y]W;"^4CIC;4EG3%[#CRL;;T@8:L+'*^35PX$\
M.<@UI-^.I]^1^!JX93IJI]NJ(7574-T55.BY WKO:$8EN?J@1IBI*W]^4/'@
M7I)4_&6JM13WS.)Z8MZ(',=D8:F9)P@_$&OYXP\P<'XV53Z16*L/;MT'=TQ]
M^9XS8;R;95I0I.F5XK!$+H3N;&X?3KV;PIP0^758RY57N_)&7:WB>)_N$RS5
MS5FEC$OZ+]9K@LEHJ>2?.G""P$<=HZ8P-PH]LU&_-NJ/&OV-2),GOW\QSYL%
M'4N&J"#TH=E14#L*1AW]\DR%I-E6K70'M83GJH.2Q+N,)6Q+B?%6CPI^[V">
M2*Q5>UC7'EYR4H=3]F$BL58?9G4?9N=-ZEEOQ,$0AK[3&9C&,,\;&)E1[2J:
M;%)'?0<^0D'7J"D,(HC,1J'3(-,Y9UI76:WK15[4=64(T]2*!ER=@!R.NKHM
M'A8(5P]72=$YL:.Y&<6C0M\[E*=2:Y?=D!I>%-5P4E9/I=;N14-K>":NJ[S3
M,><[4=1%CCEL<,(TO(;3 1OV4>P%OA]UK1K"?,=Q!ZPVQ(9G(1OV:>QY;M@U
MU8_R(V=H9C?,AN/0_LSQFH ,I\1H;5) 3Z76+K5!-+PHH^&DD)Y*K=V+!M/P
M3$[#/H'#*.H^TAJCPJ&YW& :3L=IV"=P.'/=KE%#5.@/S!K44!J=16EDH'1O
M=3$$(3BPMJ"&T&B<T/?95<Y93(0 >KQ@'N^*U^[J63PEF=GQI+B>2JW=@Y,7
MZ\N^64_[:GT)7*,&U^A,7*,^ASVG^QSY'T%M3PVJT72H1GT&]TR.A;0M-HA&
M9R&ZR@K&FS8>5#JR3SZGZ6^9'S'?TDR A&Q4EG,=*A%>?AXL=R3+BR]L3TRJ
M1_!B<T<4L[D.4.<WC,F7'?W1KOY(N_P&4$L#!!0    ( ,Z J5: 4$_@"P0
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
MX\:VV]AV*SWOA-Z<[FC,T2NZ(54-*%?DUVVLM,25];O+8*WH=RN:W7:C"IK
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
MXD2R?;ZCX85)R9+\<$?)FO+,0/V^84R^GF0WJ#;%+/X'4$L#!!0    ( ,Z
MJ59##A&2N@0  !L;   9    >&PO=V]R:W-H965T<R]S:&5E=#0V+GAM;+59
MWW.C-A#^5S3TYN9NI@Z6\,^<[9G$N9OF(6TFZ;4/G3XHL#9,0**2;%_^^TI
MP#:<XGC@Q0:L_7:_E=C]+,UV7#S+$$"A'TG,Y-P)E4HO75?Z(2147O 4F/YE
MQ45"E;X5:U>F FB0&26Q2_K]D9O0B#F+6?;L7BQF?*/BB,&]0'*3)%2\7$/,
M=W,'.Z\/'J)UJ,P#=S%+Z1H>07U/[X6^<TN4($J R8@S)& U=Z[PY9),C4$V
MXJ\(=G+O&ADJ3YP_FYO;8.[T3400@Z\,!-5?6UA"'!LD'<=_!:A3^C2&^]>O
MZ-\R\IK,$Y6PY/'?4:#"N3-Q4  KNHG5 ]_]!@6AH<'S>2RS3[0KQO8=Y&^D
MXDEAK"-((I9_TQ]%(O8,-$ZS 2D,R+'!X"<&7F'@943SR#):-U31Q4SP'1)F
MM$8S%UEN,FO-)F)F&A^5T+]&VDXM'D JL?'51D1LC98A%6N0J&>NF+E2'*D0
MT.&P*]\7&QJC3S>@:!3+S]K@^^,-^O3A,_J (H;^#/E&4A;(F:MTD,:5ZQ<!
M7><!D9\$Y*$[SE0HT5<60'!H[VIR)4/RRO":6 &O4G&!^OA71/K$:XAG:3>_
MH]J<C#)S8@G'*Q/N97C>20G7=R"V@/YYX'&,],+<41'\VY2U''70C&I>]DN9
M4A_FCGZ;,TQG\?$7/.I_::+<$MA! @9E @8V],7KXJ$*/<$Z8LSD@:]0"B+B
M01/U'&^4X9FRM%U@,IC.W.T^):O3,RD-2TI#*Z7#.?7SEZB)20XS/&""QT=,
MAC6Z'O;*,0<!CLH 1]8 EU2&**4ONOZJQL!&M<!Z>#R>'$5F=7)FCL<EA;&5
MPN^<]7Q#0X)2,1@F343&=2(>)D<\K)[.Y#$I>4Q.7?[  OO"G]3(>./1$1>K
MMS.Y3$LN4RN7KTD:\Q< ] A;$)3Y@'311]? 8!4U+S0KX'O+6$M@!]QQO^J<
M_4XJ>0';4@[:0CM,PIY\P"U7\P)P:"_G=K?GTB(5+=).12]P]ME,!L?UQN[L
M7#*5XL#6?OYV]2_LC\H_'A[3Z$(VX$HW8+MP.+$#%"C[9/K'1+H0"[A2"]@N
M%][3 G!=,M1[@-W?N7PJ<8'MZN)1<?^Y9_Y,!6C)$_T/4U+S'ZV13TL:HB#>
MA2+!E23!XVXZ0$L"I$A"%W(&5WH&GRQH3NT =5U3>T.[D#6XTC78+FQ.+__3
M&A4RK=7-+G0*J70*L4J M\M_86^;#[N+<RE4*H/85<:)I9_4I46O/AUV7^=R
MJ:0%L4N+]U1_4E<7M9GI0EN02EL0N[:X95L]&5R\H-LDI9'(%AGZ2)/T"_I#
MA2!0->(!8JJR'B%_LA!;W>1H"^TP,Y5<(8-.F@-I29P42>A"ZI!*ZI"3I<Z)
MS8'4!4]MR7<A=T@E=XA=[IS<'$A]5V52X]*%@B&5@B'V796W>T/#ALK(.R;1
MA0(AE0(A=@5R:G>HRXY>;?/-[NI<*I7P(';A\:[F,*UM%-965ZO*P]T[9DA
MKWIS^B*1SS=,Y?OQY=/RA.<J.]<X>GZ-+Y?Y.4T%DQ\;W>F7*6(2Q;#2D/V+
ML9XMD9_$Y#>*I]EAQA-7BB?990@T &$&Z-]7G*O7&^.@/ ];_ ]02P,$%
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
M:S;(;Z'@F/!UW45AOV\HSC+::WWJFX4QS=*!\ 0XA C]16&?![K=3Z")&IL
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
M7C3EE@]IQK\:-$VYWO]XS_(EJUH#_OO;LFR.+^;<_V-9?=^?X_+_4$L#!!0
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
M'26Q#W<KITDL"KW=['2W#D7UB?1'S!]I(4!&%DK/NX@5#&\.>9N%9&5]3OK
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
M%:3=8-;70NC'@3V@ZX?3/U!+ P04    " #.@*E6GU7RB^,"  #!!@  &0
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
MY.9.;KY![:=O^1+)M?LEFSHV\$A2:B/S&HP*<B:J)WVL\[ '0)YV0%@#PD-
M[Q5 MP9TG=%*F;-U10V-1TINB++1R&9?7&X<&MTP87=Q;A1^98@S\7<LE!N1
MR!Q( 8K,,ZJ ?+H"0QG7)^24:#NCMP\FR(],EIJ*5(]\@P(LC9_4BTVKQ<)7
M%NN26RE,ILFU2"%]CO=1>*,^W*J?AD<))X4Z(T'G,PF#L-NBY_(X_)8B/(P<
M/#PBI]LDL^OXNJ_P75,EF%AI,FM2^7NRT$9AL?YI2U=%UVNGLP?X0A<T@;&'
M)U2#6H,7?_S0B8(O;5[?B>R9\U[CO'>,/;YWQP724[H&A:=_6R^EAM06#198
M41K,C3US+"$"RX[MRDY798>!%>ZD+5F5@KY38"^G=3P8!%$T\M?[66B)&H:]
M7=0S>_W&7O^HO4F:DD(:$(91SI](RGAIKQ^B(2D5,PRMOJ&^_T)79WA^H+TE
M)K2%V28]:J1'[[0SSA1._L_>1"U[$_;[!_Y:HLY[T;#=X* Q.#AJ<+[; B&=
M<E[B[4*H)B:#)VPC)4])AO;) @ ;!VYBLW]OV!J\W)!.V#EP]3(H.'#D[]W/
M.:B5:UL:4U\*4UUVS6S3&2>N(1S,3[%C5@UN1U.U6[S*5DQHPF&)E,'9 /6H
MJH55 R,+UP46TF!/<:\9=GU0-@"_+R76=SVP"S3_(^)_4$L#!!0    ( ,Z
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
MS(<&2#O W-\(H9].;"O;?;KD_P-02P,$%     @ SH"I5B;&,U\I!   ZA4
M !D   !X;"]W;W)K<VAE971S+W-H965T-C$N>&ULS5A=;^(X%/TK5G:TFI$H
MB0,$Z )22V>TE;::JLSL/HSFP207L":)L[:!=G_]VDD(@;I6RZ:SY8%\^1Z?
M>[B^G'BT9?R'6 %(=)_$J1@[*RFS<]<5X0H2(MHL@U0]63">$*DN^=(5&0<2
MY4%)[/J>%[@)H:DS&>7W;OEDQ-8RIBG<<B3624+XPR7$;#MVL+.[<4>7*ZEO
MN)-11I8P _DUN^7JRJU0(II *BA+$8?%V+G YU,\U 'YB#\I;$7M'.E4YHS]
MT!?7T=CQ-".((90:@JC#!J80QQI)\?B[!'6J.75@_7R'_BE/7B4S)P*F+/Z+
M1G(U=@8.BF!!UK&\8]O?H4RHI_%"%HO\&VW+L9Z#PK60+"F#%8.$IL61W)="
MU (4CCG +P/\XX#N$P&=,J"3)UHPR].Z(I),1IQM$=>C%9H^R;7)HU4V--4_
MXTQR]92J.#FY@PVD:T!GZ"**J%:6Q.@Z+>I#Z_S^"B2AL?B@AGR=7:'W[SZ@
M=XBFZ(;&L1H@1JY4/#2:&Y9S7A9S^D_,V4$W+)4K@3ZF$42'\:[B7R7A[Y*X
M]*V %QEO(P^WD._Y'0.?J3W\"L(VZA3AOH5.I]*TD^-U[)JVT!WHA433);H%
MGDN:AH ^SV.ZS,5MH8_WF:IGB- 7FNAQ;(%FZI%8D*+*O_VAL-&UA$1\-PE=
M$.F:B>@6<"XR$L+846M< -^ ,_GU%QQXOYE4:@CL0+-NI5G7ACZI"\0J@8S%
M50#I!:60=)O:3(;M@5?_X)&[J6=FG?O$S'I59CUK9E-5ZUS]G(@( =*840&
M@UI&?GMXE$/O<=JX-NB 6U!Q"Y[';4OEJFPWP%LHIF1.8RH?3&P# ]ON([K!
M8[H=[RF^_8IOW\IWUZTXA&R9TG_4PJ%I&*^C_ 2%93I&D0OD.FO</>)LG?S$
M,AE4J0V>DUH#3:.%9I)PB=3_ :!O%_=4?#_/.^.9USWS?),V5FHO;2,-@1VH
M.*Q4'+Z5UCML4K.&P XTP][> WC/JSU>J989^W%+WP\AE<KA&?_WBWGTH5IE
M7COH!T<+S<[GU'QKG@<WE2_LJD1652(.UIH*I"PRBF$G,40/0+BI54WMD:?*
MX^_E\?_W5H3]LPXVJF;E]M)UU13:H9)[(XC?C!/$C5K!IM .==N;06QW@\TU
MI*ZI(?G!X+@AO89#Q'N+B.T>\2<U)#L)G#<D8S58 T]59V]2L=VEOGX_ZNI^
MY ^-HEFYO7A=-81VJ.3>/N/^F^E'#9GI4K?7L.9X[\WQ,\WY?^Y' U,_\GJ/
M#-)KF&B\=]'8:CA_5C\ZP?4B8W4T:I_=VFZ:>AM>YIN,0KU<KE-9;*Q5=ZN-
MS(M\^\[=#R]V06\(7])4H!@6*M1K]U4CY<7&8G$A69;OS<V95*_>^>D*2 1<
M#U#/%XS)W86>H-K>G?P+4$L#!!0    ( ,Z J5;WTULY.P(  -0$   9
M>&PO=V]R:W-H965T<R]S:&5E=#8R+GAM;'U4WV^;,!#^5RPF39NT!D+2;LH
M*6DWK0_=HD3;'J8]&#C JK&9?83NOY]_$)9*:5[@SK[[[ON..Y)!JD?= "!Y
M:KG0:= @=JLPU$4#+=4SV8$P-Y54+47CJCK4G0):NJ26AW$4W80M92+($G>V
M55DB>^1,P%81W;<M57\WP.60!O/@>+!C=8/V(,R2CM:P!_S>;97QP@FE9"T(
MS:0@"JHT6,]7FZ6-=P$_& SZQ"9622[EHW7NRS2(+"'@4*!%H.9U@%O@W (9
M&G]&S& J:1-/[2/Z9Z?=:,FIAEO)?[(2FS3X$) 2*MISW,GA"XQZKBU>(;EV
M3S*,L5% BEZC;,=DPZ!EPK_IT]B'DX0X?B$A'A-BQ]L7<BSO*-(L47(@RD8;
M-&LXJ2[;D&/"?I0]*G/+3!YFWSI0%)FHR1YJTVS4A(J2?!((JE-,PY4I#^1>
M^.]O&WE%UF7)K$GYLXLW=X"4<?TV"=%0LP7"8J2Q\33B%V@LR(,4V&A3N(3R
M>7YH)$VZXJ.N37P1<-VI&8GF[T@<Q0NBO;8+N(NI7PN'NW@!=^P2V4$GE>O;
MKW6N49GI^GU.MD=;GD>S&[?2'2T@#<Q*:5 '"++7K^8WT<<+7)<3U^4E].QK
MW^:@B*S,]EBV-.=P;(4^1];#73LXN\V'+$["PRF#\&326E"UVR=-"MD+]$,W
MG4XKN_:3^C_<[_L#5343FG"H3&HT>V_J*K]#WD'9N;G-)9HM<&9C?CN@;("Y
MKZ3$HV,+3#^R[!]02P,$%     @ SH"I5E$W3;*)!   *1@  !D   !X;"]W
M;W)K<VAE971S+W-H965T-C,N>&ULM5EM;]LV$/XKA%8,+;!$(B5+=F8;2)QU
M"]"@@;UN'X9]4.RS+502-9*.&V _OM2+]6:*;A+Y2RS)]SQ\[G3'.S/C/65?
M^19 H&]1&/.)L14BN3)-OMQ"Y/-+FD LOUE3%OE"WK*-R1,&_BH#1:%)+,LU
M(S^(C>DX>_; IF.Z$V$0PP-#?!=%/GN^@9#N)P8V#@_FP68KT@?F=)SX&UB
M^)(\,'EGEBRK((*8!S1&#-83XQI?S8B7 C*+OP+8\]HU2EUYI/1K>G.WFAA6
MJ@A"6(J4PI<?3S"#,$R9I([_"E*C7#,%UJ\/[!\SYZ4SCSZ'&0W_#E9B.S&&
M!EK!VM^%8D[W?T#AT"#E6]*09W_1OK"U#+3<<4&C BP51$&<?_K?BD#4 ))'
M#2 %@+0!3@? +@!VYFBN+'/KUA?^=,SH'K'46K*E%UEL,K3T)HC3U[@03'X;
M2)R8?DZ ^2*(-V@!&_EZ!$=^O$*_Q0)8P@(.%W)Y0'=QGC%IY"]0!9H#E_'B
MZ/'Y@$?O;T'X0<@_2,,OBUOT_MT'] X%,?IS2W=<DO.Q*:3R='US6:B\R562
M#I4VNJ>QV'*I:P6K)MZ4'I=NDX/;-T1+>)VP2V3A7Q"QB*W0,]/#[WT))VX&
M)QHY=OD6[(S/[N [Q&X."6598.L!_^>3-$=W B+^KRIV.;>CYD[W@2N>^$N8
M&++0.; G,*8__X1=ZU>5XSV1-<+@E&%P=.S3.3Q!O -E@N1(-T.F>]/3%+N>
MXPS'YE-=OL)LY&'/*<T:P@:EL(%6V.^,<HX21M>!4(D;'*WJ8LMK:SNV&CF$
M=$AS2VGN#TB36_ FB%72<C2V:JM:E[8[:&E3FCDU%QKBO%*<IQ7WP.@CH)G/
MU$6O!;\T<7LB:_@Y+/T<GK%^AWV&H2>R1AA&91A&KZ[?T7%A$L\F[1I1F U&
MHZ&MSD-L56W.TDI;//,T_LK6HT6^-/Y]L37]K+5S?,9,+,C["D5/;,U0D"H4
MY-796$ 'M3QS+$RL5C8JS&P/CW!'-E;M'FO;:&WJXH>IZW]T8K/44[[XW9RC
MS^.JT6/GG&FJ'2->'(J>V)JAJ$8+K)\MM&DZ.,H_Y:ZILM-MF]5P@7]DNN@>
M? IX?;]V;)?8;7W'9IXG9^<.>=5X@?7SQ:GAIX"WIQ_G2)_2SNF,7S478&V_
M51>ZKA?U.@OTQ=9TOIH&\.B<1:Z=-5X<BI[8FK\VJ_&#Z,</79$74/=$+U*8
M:7H1J28&HFW#)TN\@-?7)9;GN&UYQV9XY%A>A[RJBQ-]%S]5X@6\5;H#[+7U
MJ>U(QQY$JEY.7M'+9Y3)G/<%9*<IG\46F%)\KSV]+[9F(*J>3L[9TTFO/;TO
MMF8HJIY.7M_3R?$QP%&IZTR:DJI.3M[6R<EQB[ZP26U[*:0IS(@]''3(JSHY
M>5LGU\/5+Q0I,^/M1+F+9NW0-0*VR<ZB.5K272SR@\CR:7G>?9V=\K:>W^"K
M67YJ7='DA^CW63@X"F$M*:U+3^8%R\^E\QM!D^QH]Y$*0:/L<@O^"EAJ(+]?
M4RH.-^D"Y7\'IM\!4$L#!!0    ( ,Z J59Q2>5-)PT  #F    9    >&PO
M=V]R:W-H965T<R]S:&5E=#8T+GAM;+5=76_;1A;]*X2V*%H@C3@?')*I8R!Q
MFMWL-M@@;G8?%OO 6&.)J"2J)&W7P/[X)259\\E+4[GSDMCRS-',G0/.T1SQ
M\.*AJG]O5E*VT9^;];9Y/5NU[>[5?-[<K.2F:%Y6.[GM_G);U9NB[7ZME_-F
M5\MBL>^T6<]I'(OYIBBWL\N+_6N?ZLN+ZJY=EUOYJ8Z:N\VFJ!_?RG7U\'I&
M9D\O?"Z7J[9_87YYL2N6\EJV7W:?ZNZW^0EE46[DMBFK;53+V]>S-^35%>%)
MWV/?Y%^E?&BTGZ-^+E^KZO?^EP^+U[.X'Y)<RYNVQRBZ_^[EE5RO>ZAN('\<
M46>G-^T[ZC\_H;_?S[Z;S=>BD5?5^M_EHEV]GF6S:"%OB[MU^[EZ^)L\SF@_
MP)MJW>S_C1Z.;>-9='/7M-7FV+D;P:;<'OXO_CQ60NO0X?@[T&,':G?@ QW8
ML0/;3_0PLOVTWA5M<7E15P]1W;?NT/H?]K79]^YF4V[[=;QNZ^ZO9=>OO?SG
M3M9%6VZ7T;5<=NO3-E&Q742_;%M9[^JRD3]U;R^C#]L#9?K*_Q1]EO=R>R>C
MKX]/O5YTK]U4RVVY;_';XTZ^V./\55;+NMBMRIOH34>SZ(=WLBW*=?-CA_+E
M^EWTPW<_1M]%9==E5=TU78_F8MYVT^H'-[\Y3N'M80IT8 HL^EAMVU73#7HA
M%V;_>5>.4TWH4TW>4A#PS:Y^&<7D141CRCSCN8*[?RRZ[E3LNU-@..RT1&R/
MQP;PWI5-L5S6<GDH?W5[JO]_?NV:1A]:N6G^ZZO; 9?[<?LKQ*MF5]S(U[/N
M$M#(^E[.+K__"Q'QS[Y)(X$9)>"G$G (_?(X82\Y#CW%OF=_U;J_)"+E/+N8
MW^O#]S3+4Y+R4S-C8,EI8 DXL$]U]55&5T7M)R[8>>H"(($9\Q2G>8I '!28
M)4 ",TJ0GDJ0GLW!0\]$)Q=-&;4YZ&F6Y'G&_!S,3@/+P(%=/S9]]7WC CM.
M+3X2F#''_#3'/!#_<LP2(($9)2"QVJKCLQEX[*ISB\>$QA8#/<U82G+B9R#1
M5 0!A_9;43X46^_ P(Y3%P +S9PF5=.D@6AX!,8J Q*:608E2 BXV<-$9!XB
M,IK;1'2;)2P6^0 1E5 @L%(X$#'Z7S2R,\,PD]<#"<V<M!(A) E%2U2%@H5F
MED%I% +N_S MA7OAR[(\M6GI-N,TZ66\EY9*.Q!8/)QH"6S6,,3DM4!",R>L
M- G)0E$25;1@H9EE4+*%@)( IF3NRD'.J,U(3ZLXX:F?D52)"0J+B2_=9W6Y
MB*[;HO4/#^X_=1VPT,S9*GU"22 Z4E3]@H5FED'I%PH* Y".QZZF-$P9L?CH
M:483,<A'I2DHK"D,/H[OWS#:Y&4)<;A!E6BA/!0[464,%II9!B5C*'R8 K(S
M<6G'!7?8Z38C>9Z* 78J:4%A:6&S$]C&8:3)2Q+BR(,JW4+34,Q$53-8:&89
ME)JA\!$+R,S,I1R+<_N3MZ=9(M*!#]Y4"0P*"XRK5;DMO,-"/?C 0C,/P)58
M87&H(W!4%8.%9I9!J1@&G[) -#QV-2Z0:9S;G[L]S5C&\H'/W4PI"P8KBST/
MQ[=M&&7R<H0X!F&:+Q/,F,%U9D*H%Z;4"SO?G#EV-2Z.&=?VX^,,W&:,ID/'
MDDPI"@8KBB=6 MLUC#!Y*4*<@# E4U@HFX:AJA8L-+,,2K6P\ZT:YIHPF:#,
M)J3;*A%Q-L!'I2/8B%53W;6KZ!]5+;U[-MQ[\B*$./I@2IFP4)8-0Y4N6&BF
M<:VD"S_?M.&N&T/C-$ULZ]K3+$WB@:LC5W*"PW)"8^/XS@UC35T4+#1SYDJM
M\% ^#D<5,%AH9AF4@.'G^SC<-6A(GJ3V\:2G&>59-L1-[0L?L*@PN0GLWS#.
MY 4)<0+"E5[AH8P<CBICL-#,,B@9P\\W<KCKT! :V_NWIQ45FAMN#DP)"PX+
MBX_%NGAL2N_F#7>=O (A#CRX$BH\E'W#434,%II9!J5A^/GV#?<8,Z3[R&TS
MT6U&*1GZP)TH79' NN*)BN,[-PPT^5MH(8Y $J59DE!&3H(J8+#0S#(H 9.<
M;^0DKD-#8D:Y14Q/,TH2,F#D)$I4)+"HT(@);-LPR.35"'$"DBBQDH3R;Q)4
M]8*%9I9!^R[L^?Y-XAHS.;>/@3R-1#;PW8M$J8D$5A-_+W;^KZ;!_287/\29
M1Z*D21+*J4E0A0L6FED&)5R2\YV:Q./4Q'EJ?P?(TRQG@S146B*!M<2>AL_8
MK5$//[#0S"^-*Y$B0ODV E6T8*&995"B19SOVPC7D$D)LZ^,GE8\S1(_)X62
M$0*6$4^<!#9J&&'R0H0X\!!*FXA0CHU U2M8:&89E%X1YSLVPF/%9,[W+#RM
M>)(/:$>A%(2 %<0O=W6UD]YAH9YO8*&9T]1NI@EV-PWN[30A)(M0DD6<;],(
MUX#).74NBQXSA^5#ET4E(@0L(@XT'-^K89C)JQ'BK$,H?2)"^34"5;)@H9DW
M>2G)DI[OUZ2>NV=<4GI:T4']F"H1D<(BXD1*8+.&(::N!!::.6$E3M)0)DV*
MJEFPT,PR*,V2GF_2I*[[(N+8/H+TMB(#=QVF2D6D(Q9-N5T6NZKV[M=PW\E+
M$.)@(U6R) UERZ2HL@4+S2R#DBWI^;9,ZAHN">,.$SWF39SE U_/3;5;<V$E
M<:+B^)X-(TU>D1"G':D2*FDHFR9%E2Y8:&89E'1)S[=I4M=_8=2]1/KNLJ'9
M0#I IM1$!JL)G9C0?=JHIQU8:.:<E5#)0EDT&:I\P4(SRZ#D2W:^19/YO!?G
M:NEI)<B CLR4GLC&]$33]HO2KF0?L;->> >(>MR!A6;.6 F5+)0]DZ&J&"PT
MLPQ*Q63GVS.9Z[QP_1MFQPEX[JX1V<#NG2E=D8WI"HN1X[LXC#AY84*<@V1*
MO62AK)L,5<Q@H9EET&),SK=N,H]U(Q+[D[>G5<8'3H,RI2ZR,77ATA/:RU%/
M0[#0S-05I5_R4 9.CBIIL-#,,BA)DY]OX.2>&V]TUATGX+;23]7-<2F-D<,:
MH[M*+NYNVB9JZV+;W,JZEHNH:*,BVE7EMNV#U=IRX_V #B-/7I\09R2YTC1Y
M*%\G1Q4Z6&AF&930R<_W=7+7L2&"L<S.J/*UR_L,C &N*OF1CT:E/8>KXWL_
M_#Z3ERS$F4JNM$\>R@K*4240%II9!B6!\O.MH-R7KB9$ZC#7%Z^696Q G^9*
MF.2P,'D^<P%9 +_'Y.4*$L:FI;$%BV/#S6,+$\BF)[)]2R2;QRX2*7$SV3SM
M$DX&>$MB+94MAG7+B;E]%FL___)&FC2N[F4]J!%&X"=G\6#!6?6@6CV"Y;?%
MN %N6'!6*;0(M_@;,MQB7XB;<(GKN?DG'PS+BK40MQ@6,A-X^XRH-_C-IB]=
MB&,<$FMI;W&PN+<8-^\-"\XJA9;X%G]#Y%OLNDTB<4GL\:3(4)X1B;7(MQC6
M---(# 7#P6\T?=6"1,/%6C9<'"P<+L9-A\."LTJAY</%WQ 0%WN\*^[1#Q[S
M2K^+V,ITU=3-2.#L^^INNZ@?H^^+S>[GZ-=J6=YXQPG#3%X4+#AKWGJ8;2@'
MBV#'W0913'K@+1PE"_.3^.XT(HEP,@Q]#0DG=#!W6-,Q(UFT'HX^0Q+ H-.7
M*<2Y#]%3;TDHBXL@)^&&B<+5LW#AE-D1QGH<+#]C/0U!QFJ:922FUL]8:/^'
M :<O48BS'J*'X9)0AA=!#LD-DY*KQ^3" ;0C;'7]+&?S!]M8P])DR4AN[;O/
M;S[ZAX1Z?H,&9^6Y:Q*'AC*X"&Y +AJ<50I-]<#ALS 5J>M?D3QS4@Y][1CG
M;.CCE!9=2T:R:WM*/F-GAU&FKTJ0<QHM%I?04-86P<W(18.S2J&)'#A_=H2@
M/M_*1U"W'4A037B,Q-<>"0IMY##"]!4)<ORBI>(2&LJ](K@QN6AP5BDT30-'
MT(Z0T[6F7&)";:QA:?IB)+GV_;IH5OXQX9ZD8,%9,]4D"PWE21'<K%PT..OI
M+)JH@7-H1Y[/XKI-2>8D<OJ:=1^ Z-"IDA9B2T92;/>4?,9.#L-,7A4L.&O>
MFH!AP<PGW-A<-#BK%/KS@[[E 4*>1P/Y".H)J(,(JNF,D4#;)X)".SD,,7U%
M@IR::$&YA 7SE' 3=-'@K%)HH@9.IQTAI^L6.3LYV,8:EB8P1D)M03;BGHI@
MP5ESU50+"V80X6;HHL%9I=!D#9Q/.\)&U_GQ/O7/TPYZ[)^6;DM&XFV/K'S.
M ]=PCTNPX*R9:S*&!S.)<+-TT>"L4FC*!LZIA3G*7>_'X2?8QAJ6IC)&XFT5
M-Z%K)PPR?3&"G))P_0&(P:P@W"Q=-#BK%)JH@7-J1WAYZ"O&KIV>=KYKYUQ[
M!OM&ULO]H^F;Z*:ZV[:'1X^?7HV.3ZI_]6;_T'?K];?DU=7A(?8*YO)B5RSE
MQZ)>EMLF6LO;#C)^V=\.7A\>4W_XI:UV^R>]?ZW:MMKL?US)8B'KOD'W]]NJ
M:I]^Z=_@H:I_WP_[\O]02P,$%     @ SH"I5O"W;V-] P  PQ<   T   !X
M;"]S='EL97,N>&ULW5C=;MHP%'Z5*%VG5IH:0M9 5D#:D"I-VJ9*[<7N*D,<
ML.0XF6,ZZ.7>91>5]A1[E#W)?.*0 /5!M!<K+ ABG\_G.Y]]CO-#KU +3J^G
ME"IGGG)1]-VI4OD[SRO&4YJ2XBS+J=!(DLF4*-V5$Z_()25Q 4XI]]JM5NBE
MA EWT!.S]#)5A3/.9D+U7;]5VQQS^AAK:_C6=0S?,(MIW[T]>?UMEJF+5XXY
M'[TY.FK=GEYLVD]*X-3UK*3G.Y">M5HX,8 8>;@;^39NC+JS3ET./]9$QO$8
M<^M:W'24QA,ZF'-DG\Z?'[^0%#3(UB1T6ACQ TK\L!.Q;R?^_1/AK8'MM.V=
M\KHEK1AQ8$W/2G)*1Z_:,(->DHEFWP2N,6AFDE+GCO"^.R2<C20#KX2DC"^,
MN0V&<<8SZ2B]874H'RS%O8%]TX.]7/&D3&2RC&TBF-]1-7P#6/9 (..\%MAV
MC6'0RXE25(I+W2D'E\9'D%.U;Q:Y5CB19.&WS]W&H3SI(*-,QE0VUP]W:1KT
M.$U CF23*9Q5EGL *I6ENA$S,LD$*34L/:J&IAU3SJ_A0O<U6>.>)RLY*TM7
MU$TMJ&H:&M,!_E4VP[U*VWD6KY.SNTQ]F.GIB+(/14:O)$W8O.S/DUH QN[C
M["3/^>(]9Q.14C/YG0,.>F3IYTPSR>YU-"B5L390Z3IW5"HV7K5\ER2_H7.U
M+*=Y@FMN'Z#F?[O.$RJH)'Q5M*[]?5[E9RL..B\EN;RJ; JV:JP>7O9=Y/DA
MB P/0>1!U&3W$$1&!R"R\V)7S:>(]/=?9' 0V6X?@LA@+T5ZU8/ORM/UVK-U
M;77@':;O?H&W(=X$=48SQA4356_*XIB*1X_8FEZ1$:?K_'I\3!,RX^JF!OMN
MT_Y,8S9+HWK4%2Q$-:II?X+I^6'] J5C,1'3.8V'55=.1F73T0T=M3K 81.Y
M+ \[@OD8S(X AL7!%& ^Q@N+\S_-IXO.QV"8MJX5Z:(^7=3'>-F08?G!XMA]
M(GW89QI%01"&V(H.AU8%0VS=PA"^=C9,&WA@<2#2T]8:SS9>(=OK ,OIM@K!
M9HI7(C93?*T!L:\;>$21/=M8'/# LH#5#L2WQX&:LOL$ 605TX;M8!R)(@R!
M6K37:!@BJQ/"QYX?;)<$0139$<#L"H( 0V WX@BF #1@2!"4]\&-^Y&WO$]Y
MS=_V@[]02P,$%     @ SH"I5I>*NQS     $P(   L   !?<F5L<R\N<F5L
M<YV2N6[#, Q ?\70GC 'T"&(,V7Q%@3Y 5:B#]@2!8I%G;^OVJ5QD L9>3T\
M$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:<Z10J[4+!XUA]) 1-MC0[!:+#Y
M+AEFM[UD%J=SI%>(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*
M(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'<?VD-/IKV,BM'I;Z/EQ:%0*CMQC
M)8QQ8K3^-8+)#^Q^ %!+ P04    " #.@*E6@6AW,><$  !S*@  #P   'AL
M+W=O<FMB;V]K+GAM;,6:77/:.!2&_XJ&J]V9= %_I<V$S% @7692PH1,]K*C
MV (TL256DDG37[_'IK12ZYS9FQ.NP++B/$BVGO?8OGS6YNE1ZR?VM2J5'?6V
MSNTN^GV;;T7%[5]Z)Q3L66M3<0>;9M.W.R-X8;="N*KL1X-!UJ^X5+VKR^.Q
MEJ;O;V@G<B>U@L:FX4&*9_MS?[/)]M+*1UE*]S+JM=]+T6.55+*2WT0QZ@UZ
MS&[U\]_:R&]:.5ZN<J/+<M0;'G8\".-D_EOSJH&\YX^V;7'\\8X#R*B7#>"
M:VFL:WNTQ^? N!?0^;!5.WTM2R?,E#OQR>AZ)]6F.0S\BK[W,]IQ.'X>!O'"
M_)]AU.NUS,54YW4EE#N,HQ%E ZCL5NYLCRE>B5%OHO?"L"7?B.9'P7^9%X<?
MZ(#,&RYS(6&'F1<M(R'/[6(Z6ZQF4P;?5K<W\^GX'C8^CF_&B\F,>9 1 AF=
M$/)+Y$'&"&1\$LC5/7Q\GBT\R 2!3$X(&8QDBD"FIX2,/<@,@<Q."9EXD.<(
MY#DMY$=NI65ZS99&6.C:]F!<%6PE-TIZD.\1R/?$(ZE5#CW, 0Y@)T84TK68
MMV[K07Y (#_00L[5'CJ L80]8THX?_4>8,OW@);KD];%LRS+=K3F,,-JTQ"P
ML;5@,I\2E0RQ9<9Y;FI1L!O)VV  H^BC86H9$KOE3EAGZMS5!B(!FVRYV81P
MF%*&Q$ZYYM*P!U[6HIW?J3!RSYMD U,-V#XF)I4AL57^X<9PY5Y\'LP?0V*!
M0$K=089\.6/+$KC.VL&;_5O+7?.'9SXF9I AL4)63N=/6UT6PM@O+9][.2S.
MS8YW/B;FD"&Q1!9PW+G*=248C"I;P242A%=,'4-R=U25=$TGVXX<N,3!=2Q4
M_LL2@ZEC2.R.&\%M0!-AQHB(C7$GP&2U/X,1IH:(6 VW<$[Q9L[82FQ^3N1,
M0;6V,WY$B= *A%@3:)(*@G.$"2.B+D*P+!5B8L*(B(7Q:YIB?T"I7@K[IP^(
M&20B-@@>JX*R&#-(1&R0CES5.928/B)B?70&K$Y*3"01L4C0I!5>.)A*(F*5
M')-6U_C%F%5B8JN@D2N\18/9)B:V#1JY0DS,-C&Q;;HB5^>4H_>[B%USB#6=
M6)A;8F*WH($BG&+,,#&Q8?! X=_DBC'#Q-2WN=! $6!BDHF))?-[H)@*QV49
MGI:88&)BP:")(CPM,<'$Q(+!,?WY3C#=)*>\[17<?4TPW23$NL$Q4Q\3TTU"
MK)O.&-EQ 268;A)BW73GR'=LT40BYQ>*"?J A5@_KV%^;_<Q,?TDQ/IY#1.^
MJ? &:(+I)R'6#Q[+@^4(TT]"K!\<,UB., <E)RUR@N4(<U#R9D5.QQJ48MI)
M3UKE^*=CBFDG/6F5$V!BVDF)M8-C^E=-BHDG)18/CNE?-2DFGI18/#AFYF.B
MS_:)Q8-CGON8F'A28O%T5^!=ZQ'FG938.]]+\!\A:/\*(R:=E%@Z/Q@GNMII
MU1;D4$>VS6SVU<?$I).^R4,:P%S!P8H:0CI 7M<0D 3[+)7_T@EFH.QMGMX
MY[B .AQV\Q).U,.QI/8Q,0-EIWRJ$[["@QDH(S80CND;*,,,E!$;",?T#91A
M!LI: _7;SO;JLA!KJ42Q@']AH3WG9;XTK/DXO)21I,U3TW5=EA-HNU4WFA?'
M=R:/[WM>_0=02P,$%     @ SH"I5M))O&T1 @  %R8  !H   !X;"]?<F5L
M<R]W;W)K8F]O:RYX;6PN<F5L<\W9.V[;0!2%X:T(7(!']S6V \M5&K>!-T#(
MHP<LB02'0>S=1Y +Z1 ITA@\%3$D>/D7Q =B^/2K'-IQWYWJ;M_7Q<?Q<*JK
M9C>._8^4ZGI7CFV]Z_IR.E_9=,.Q'<_+89OZ=OW>;DO2Y3*GX79&\_QT.W/Q
M^MF7_YG8;3;[=?G9K7\?RVG\Q^#TIQO>ZZZ4L5F\ML.VC*LF?1RNIVNZ'.3N
M/+E9O+RMFN'E39HT=Y!"D,X?9!!D\P<Y!/G\00%!,7]0AJ \?] ]!-W/'_0
M00_S!SU"T./\0;)$&9<$21.L";06Y%H(O!8$6PC$%B1;",P61%L(U!9D6PC<
M%H1;".06I%L([!;$6PCT5M1;"?16U%L)]-;)QS:!WHIZ*X'>BGHK@=Z*>BN!
MWHIZ*X'>BGHK@=Z*>BN!WHIZ*X'>AGH;@=Z&>AN!WH9Z&X'>-MDL(=#;4&\C
MT-M0;R/0VU!O(]#;4&\CT-M0;R/0VU!O(]#;46\GT-M1;R?0VU%O)]#;46\G
MT-LGF]T$>COJ[01Z.^KM!'H[ZNT$>COJ[01Z.^KM!'H'ZAT$>@?J'01Z!^H=
M!'H'ZAT$>@?J'01ZQ^1G)8'>@7H'@=Z!>@>!WH%Z!X'>@7H'@=X9]<X$>F?4
M.Q/HG5'O3*!W1KTS@=X9]<[?J7<=/P^E7GN^UOC\[Z1Z/-];KH^_++].3M[>
M"\[IMJ(^_P502P,$%     @ SH"I5L"(;73I 0  ?B4  !,   !;0V]N=&5N
M=%]4>7!E<UTN>&ULS=I=3\(P% ;@OT)V:UCIU_R(<*/>JA?^@;H=9&%;F[8@
M_'N[ 28:)1I,?&]8H.UYSWJ2YXKKIZVC,-JT31>FV2)&=\58*!?4FI!;1UU:
MF5O?FIB^^A?F3+DT+\3$9%*PTG:1NCB.?8UL=GU+<[-JXNANDWX.M>VFF:<F
M9*.;W<8^:YH9YYJZ-#&MLW57?4H9[Q/R='+8$Q:U"V=I0\:^3.A7O@_8GWM8
MD_=U1:-'X^.]:=,NMFE8B-N&0GZ\Q!<]VOF\+JFRY:I-1_+@/)DJ+(ABV^2[
MHF?'DV.Z8=I]\I/SAS+' M/.1V]=2!/S]/NXPTCZTV.7"I&/]?%7?$],I4]^
M/^JG75'UP^QTO:_6+X=Y!#8\3K_CCS-^K__+/@1('Q*D#P72AP;IHP#IXQRD
MCPN0/BY!^N 3E$901.4HI'(44SD*JAQ%58["*D=QE:/ RE%D%2BR"A19!8JL
M D56@2*K0)%5H,@J4&05*+(*%%DEBJP215:)(JM$D56BR"I19)4HLDH4626*
MK!)%5H4BJT*15:'(JE!D52BR*A19%8JL"D56A2*K0I%5H\BJ4635*+)J%%DU
MBJP:15:-(JM&D56CR*I19"U09"U09"U09"U09"W^4]9G:Y=_'#\\\];4W2&?
M#7^[FKT!4$L! A0#%     @ S8"I5@=!36*!    L0   !
M ( !     &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    " #-@*E6WN3F^>X
M   K @  $0              @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"
M% ,4    " #-@*E6F5R<(Q &  "<)P  $P              @ ', 0  >&PO
M=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0    ( ,V J5;G;U!/S@4  ,8>   8
M              " @0T(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"
M% ,4    " #-@*E61Q$WI,D&  #!'   &               @($1#@  >&PO
M=V]R:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @ S8"I5OI,["7Q @
M* @  !@              ("!$!4  'AL+W=O<FMS:&5E=',O<VAE970S+GAM
M;%!+ 0(4 Q0    ( ,V J5;/!WB2S@0  (@2   8              " @3<8
M  !X;"]W;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4    " #-@*E6'[S^
M^G$#  !F"@  &               @($['0  >&PO=V]R:W-H965T<R]S:&5E
M=#4N>&UL4$L! A0#%     @ S8"I5E#N7R)<!P  7#0  !@
M ("!XB   'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( ,V
MJ5:*T KH\PD  !LX   8              " @70H  !X;"]W;W)K<VAE971S
M+W-H965T-RYX;6Q02P$"% ,4    " #-@*E6 X:!A*H%   ^#0  &
M        @(&=,@  >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%
M  @ S8"I5LE9#R"; @  U 4  !@              ("!?3@  'AL+W=O<FMS
M:&5E=',O<VAE970Y+GAM;%!+ 0(4 Q0    ( ,V J58GDFFRV@(  !8&   9
M              " @4X[  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L!
M A0#%     @ S8"I5JA!H""V!   K0H  !D              ("!7SX  'AL
M+W=O<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"% ,4    " #-@*E67O ,3ML"
M   L!@  &0              @(%,0P  >&PO=V]R:W-H965T<R]S:&5E=#$R
M+GAM;%!+ 0(4 Q0    ( ,V J59YZ_639P8  '(0   9              "
M@5Y&  !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @ S8"I
M5J) %\F/#    B4  !D              ("!_$P  'AL+W=O<FMS:&5E=',O
M<VAE970Q-"YX;6Q02P$"% ,4    " #-@*E6X/%J]&@$  #/"0  &0
M        @('"60  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0
M   ( ,V J58;+Q:=. ,   X'   9              " @6%>  !X;"]W;W)K
M<VAE971S+W-H965T,38N>&UL4$L! A0#%     @ S8"I5IF"/2.J!@  E1
M !D              ("!T&$  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q0
M2P$"% ,4    " #-@*E6%QSV"=,"  "8!@  &0              @(&Q:
M>&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( ,V J59(PT_N
MD (  .0%   9              " @;MK  !X;"]W;W)K<VAE971S+W-H965T
M,3DN>&UL4$L! A0#%     @ S8"I5@+1RRV%!   ,PH  !D
M ("!@FX  'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    " #-
M@*E6X<L_*J0%  #T#0  &0              @($^<P  >&PO=V]R:W-H965T
M<R]S:&5E=#(Q+GAM;%!+ 0(4 Q0    ( ,V J5:Y.7HYHP8  %(/   9
M          " @1EY  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#
M%     @ S8"I5ECAZO2-!P  ?1(  !D              ("!\W\  'AL+W=O
M<FMS:&5E=',O<VAE970R,RYX;6Q02P$"% ,4    " #-@*E6HD7TB;@"  "X
M!0  &0              @(&WAP  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM
M;%!+ 0(4 Q0    ( ,V J5;M39K%E@(  'X%   9              " @::*
M  !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @ S8"I5N>"
M MSE!   8@P  !D              ("!<XT  'AL+W=O<FMS:&5E=',O<VAE
M970R-BYX;6Q02P$"% ,4    " #-@*E63#FZP.@"   M!@  &0
M    @(&/D@  >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    (
M ,V J5;1L]Q%VP,  .D(   9              " @:Z5  !X;"]W;W)K<VAE
M971S+W-H965T,C@N>&UL4$L! A0#%     @ S8"I5G_F83(8!0  / X  !D
M             ("!P)D  'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"
M% ,4    " #-@*E6_!RDRJX"  #)!0  &0              @($/GP  >&PO
M=V]R:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( ,V J59E?0*X1@,
M /L&   9              " @?2A  !X;"]W;W)K<VAE971S+W-H965T,S$N
M>&UL4$L! A0#%     @ S8"I5D1@G4BS!   R L  !D              ("!
M<:4  'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    " #-@*E6
M9_ _/_<"  #"!@  &0              @(%;J@  >&PO=V]R:W-H965T<R]S
M:&5E=#,S+GAM;%!+ 0(4 Q0    ( ,V J59+#K9_:P,  /L'   9
M      " @8FM  !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%
M  @ S8"I5N9VI9I3!0  40P  !D              ("!*[$  'AL+W=O<FMS
M:&5E=',O<VAE970S-2YX;6Q02P$"% ,4    " #-@*E61?\J:<,"  #G!P
M&0              @(&UM@  >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+
M 0(4 Q0    ( ,V J5;_ND@X8P0  %$;   9              " @:^Y  !X
M;"]W;W)K<VAE971S+W-H965T,S<N>&UL4$L! A0#%     @ SH"I5FLB!5B.
M @  T 8  !D              ("!2;X  'AL+W=O<FMS:&5E=',O<VAE970S
M."YX;6Q02P$"% ,4    " #.@*E66=V,-$($  "H%P  &0
M@($.P0  >&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( ,Z
MJ5;88B]$.0(  -0$   9              " @8?%  !X;"]W;W)K<VAE971S
M+W-H965T-# N>&UL4$L! A0#%     @ SH"I5L8#D0@L!   L!4  !D
M         ("!]\<  'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4
M    " #.@*E6@%!/X L$  "M$0  &0              @(%:S   >&PO=V]R
M:W-H965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0    ( ,Z J5:\HJ?-&0,   <)
M   9              " @9S0  !X;"]W;W)K<VAE971S+W-H965T-#,N>&UL
M4$L! A0#%     @ SH"I5LN;.5:G"   .6H  !D              ("![-,
M 'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    " #.@*E6D\;1
M90$%   @(P  &0              @('*W   >&PO=V]R:W-H965T<R]S:&5E
M=#0U+GAM;%!+ 0(4 Q0    ( ,Z J59##A&2N@0  !L;   9
M  " @0+B  !X;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @
MSH"I5M'$LD>M#0  U)4  !D              ("!\^8  'AL+W=O<FMS:&5E
M=',O<VAE970T-RYX;6Q02P$"% ,4    " #.@*E6L)Y>5&4$  #/'P  &0
M            @('7]   >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4
M Q0    ( ,Z J59OZ%>Q!0,  ',,   9              " @7/Y  !X;"]W
M;W)K<VAE971S+W-H965T-#DN>&UL4$L! A0#%     @ SH"I5FL,_LC< @
MK@<  !D              ("!K_P  'AL+W=O<FMS:&5E=',O<VAE970U,"YX
M;6Q02P$"% ,4    " #.@*E6S6RJW74$  !V%P  &0              @('"
M_P  >&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( ,Z J5;Q
M'':I200  )D8   9              " @6X$ 0!X;"]W;W)K<VAE971S+W-H
M965T-3(N>&UL4$L! A0#%     @ SH"I5LN?2B!6 P  &PL  !D
M     ("![@@! 'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4
M" #.@*E6GU7RB^,"  #!!@  &0              @(%[# $ >&PO=V]R:W-H
M965T<R]S:&5E=#4T+GAM;%!+ 0(4 Q0    ( ,Z J5:SP./CB ,  )$.   9
M              " @94/ 0!X;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L!
M A0#%     @ SH"I5D# GV^" P  (PX  !D              ("!5!,! 'AL
M+W=O<FMS:&5E=',O<VAE970U-BYX;6Q02P$"% ,4    " #.@*E6<?UA]/X"
M  !3"   &0              @($-%P$ >&PO=V]R:W-H965T<R]S:&5E=#4W
M+GAM;%!+ 0(4 Q0    ( ,Z J5;J9E]\SP(  $D+   9              "
M@4(: 0!X;"]W;W)K<VAE971S+W-H965T-3@N>&UL4$L! A0#%     @ SH"I
M5@REL .W @  C0<  !D              ("!2!T! 'AL+W=O<FMS:&5E=',O
M<VAE970U.2YX;6Q02P$"% ,4    " #.@*E69 ]C\W,#  #&#   &0
M        @($V( $ >&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4 Q0
M   ( ,Z J58FQC-?*00  .H5   9              " @> C 0!X;"]W;W)K
M<VAE971S+W-H965T-C$N>&UL4$L! A0#%     @ SH"I5O?36SD[ @  U 0
M !D              ("!0"@! 'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6Q0
M2P$"% ,4    " #.@*E643=-LHD$   I&   &0              @(&R*@$
M>&PO=V]R:W-H965T<R]S:&5E=#8S+GAM;%!+ 0(4 Q0    ( ,Z J59Q2>5-
M)PT  #F    9              " @7(O 0!X;"]W;W)K<VAE971S+W-H965T
M-C0N>&UL4$L! A0#%     @ SH"I5O"W;V-] P  PQ<   T
M ( !T#P! 'AL+W-T>6QE<RYX;6Q02P$"% ,4    " #.@*E6EXJ[',     3
M @  "P              @ %X0 $ 7W)E;',O+G)E;'-02P$"% ,4    " #.
M@*E6@6AW,><$  !S*@  #P              @ %A00$ >&PO=V]R:V)O;VLN
M>&UL4$L! A0#%     @ SH"I5M))O&T1 @  %R8  !H              ( !
M=48! 'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ SH"I
M5L"(;73I 0  ?B4  !,              ( !OD@! %M#;VYT96YT7U1Y<&5S
;72YX;6Q02P4&     $@ 2 "O$P  V$H!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<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>77
<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>78
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>325</ContextCount>
  <ElementCount>258</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>88</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>9</UnitCount>
  <MyReports>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0000001 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>0000008 - Disclosure - Basis of Presentation and Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies</Role>
      <ShortName>Basis of Presentation and Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>0000009 - Disclosure - Concentration of Credit and Other Risks</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks</Role>
      <ShortName>Concentration of Credit and Other Risks</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>0000010 - Disclosure - Inventories, net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/Inventoriesnet</Role>
      <ShortName>Inventories, net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>0000011 - Disclosure - Goodwill and Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/GoodwillandIntangibleAssets</Role>
      <ShortName>Goodwill and Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>0000012 - Disclosure - Accrued Liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/AccruedLiabilities</Role>
      <ShortName>Accrued Liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>0000013 - Disclosure - Restructuring Charges</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/RestructuringCharges</Role>
      <ShortName>Restructuring Charges</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>0000014 - Disclosure - Fair Value and Derivative Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/FairValueandDerivativeInstruments</Role>
      <ShortName>Fair Value and Derivative Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>0000015 - Disclosure - Warranty</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/Warranty</Role>
      <ShortName>Warranty</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>0000016 - Disclosure - Property, Plant, and Equipment, net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/PropertyPlantandEquipmentnet</Role>
      <ShortName>Property, Plant, and Equipment, net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>0000017 - Disclosure - Stockholders??? Equity and Stock-Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation</Role>
      <ShortName>Stockholders??? Equity and Stock-Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>0000018 - Disclosure - Net Income per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/NetIncomeperShare</Role>
      <ShortName>Net Income per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>0000019 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/CommitmentsandContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>0000020 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>0000021 - Disclosure - Revenue</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/Revenue</Role>
      <ShortName>Revenue</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>0000022 - Disclosure - Operating Segments and Enterprise-Wide Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation</Role>
      <ShortName>Operating Segments and Enterprise-Wide Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>0000023 - Disclosure - Basis of Presentation and Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Basis of Presentation and Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>0000024 - Disclosure - Concentration of Credit and Other Risks (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables</Role>
      <ShortName>Concentration of Credit and Other Risks (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>0000025 - Disclosure - Inventories, net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/InventoriesnetTables</Role>
      <ShortName>Inventories, net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/Inventoriesnet</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>0000026 - Disclosure - Goodwill and Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables</Role>
      <ShortName>Goodwill and Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/GoodwillandIntangibleAssets</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>0000027 - Disclosure - Accrued Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/AccruedLiabilitiesTables</Role>
      <ShortName>Accrued Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/AccruedLiabilities</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>0000028 - Disclosure - Restructuring Charges (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/RestructuringChargesTables</Role>
      <ShortName>Restructuring Charges (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/RestructuringCharges</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>0000029 - Disclosure - Fair Value and Derivative Instruments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables</Role>
      <ShortName>Fair Value and Derivative Instruments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/FairValueandDerivativeInstruments</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>0000030 - Disclosure - Warranty (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/WarrantyTables</Role>
      <ShortName>Warranty (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/Warranty</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>0000031 - Disclosure - Property, Plant, and Equipment, net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables</Role>
      <ShortName>Property, Plant, and Equipment, net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/PropertyPlantandEquipmentnet</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>0000032 - Disclosure - Stockholders??? Equity and Stock-Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables</Role>
      <ShortName>Stockholders??? Equity and Stock-Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>0000033 - Disclosure - Net Income per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/NetIncomeperShareTables</Role>
      <ShortName>Net Income per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/NetIncomeperShare</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>0000034 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/Leases</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>0000035 - Disclosure - Operating Segments and Enterprise-Wide Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables</Role>
      <ShortName>Operating Segments and Enterprise-Wide Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>0000036 - Disclosure - Basis of Presentation and Significant Accounting Policies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails</Role>
      <ShortName>Basis of Presentation and Significant Accounting Policies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>0000037 - Disclosure - Concentration of Credit and Other Risks (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails</Role>
      <ShortName>Concentration of Credit and Other Risks (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>0000038 - Disclosure - Inventories, net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/InventoriesnetDetails</Role>
      <ShortName>Inventories, net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/InventoriesnetTables</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>0000039 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>0000040 - Disclosure - Goodwill and Intangible Assets - Additional information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/GoodwillandIntangibleAssetsAdditionalinformationDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Additional information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>0000041 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>0000042 - Disclosure - Goodwill and Intangible Assets - Amortization Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Amortization Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>0000043 - Disclosure - Accrued Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/AccruedLiabilitiesDetails</Role>
      <ShortName>Accrued Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/AccruedLiabilitiesTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>0000044 - Disclosure - Restructuring Charges - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/RestructuringChargesNarrativeDetails</Role>
      <ShortName>Restructuring Charges - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>0000045 - Disclosure - Restructuring Charges - Restructuring Charges (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails</Role>
      <ShortName>Restructuring Charges - Restructuring Charges (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>0000046 - Disclosure - Restructuring Charges - Changes to the Restructuring Accrual (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails</Role>
      <ShortName>Restructuring Charges - Changes to the Restructuring Accrual (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>0000047 - Disclosure - Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails</Role>
      <ShortName>Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>0000048 - Disclosure - Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails</Role>
      <ShortName>Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>0000049 - Disclosure - Fair Value and Derivative Instruments - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails</Role>
      <ShortName>Fair Value and Derivative Instruments - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>0000050 - Disclosure - Warranty (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/WarrantyDetails</Role>
      <ShortName>Warranty (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/WarrantyTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>0000051 - Disclosure - Property, Plant, and Equipment, net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails</Role>
      <ShortName>Property, Plant, and Equipment, net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>0000052 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails</Role>
      <ShortName>Stockholders??? Equity and Stock-Based Compensation - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>0000053 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails</Role>
      <ShortName>Stockholders??? Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>0000054 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - ESPP Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails</Role>
      <ShortName>Stockholders??? Equity and Stock-Based Compensation - ESPP Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>0000055 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - Stock-Based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails</Role>
      <ShortName>Stockholders??? Equity and Stock-Based Compensation - Stock-Based Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>0000056 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails</Role>
      <ShortName>Stockholders??? Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>0000057 - Disclosure - Net Income per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/NetIncomeperShareDetails</Role>
      <ShortName>Net Income per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.formfactor.com/role/NetIncomeperShareTables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>0000058 - Disclosure - Leases - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/LeasesNarrativeDetails</Role>
      <ShortName>Leases - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>0000059 - Disclosure - Leases - Components of Lease Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails</Role>
      <ShortName>Leases - Components of Lease Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>0000060 - Disclosure - Leases - Schedule of Future Minimum Payments Under Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails</Role>
      <ShortName>Leases - Schedule of Future Minimum Payments Under Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>0000061 - Disclosure - Revenue - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/RevenueAdditionalInformationDetails</Role>
      <ShortName>Revenue - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>0000062 - Disclosure - Operating Segments and Enterprise-Wide Information - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationAdditionalInformationDetails</Role>
      <ShortName>Operating Segments and Enterprise-Wide Information - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>0000063 - Disclosure - Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails</Role>
      <ShortName>Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="form-20230401.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>0000064 - Disclosure - Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails</Role>
      <ShortName>Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 2 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 -  form-20230401.htm 4</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Not-Referenced] WARN: 1 fact(s) appearing in ix:hidden were not referenced by any -sec-ix-hidden style property: us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 -  form-20230401.htm 4</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-Q" original="form-20230401.htm">form-20230401.htm</File>
    <File>form-20230401.xsd</File>
    <File>form-20230401_cal.xml</File>
    <File>form-20230401_def.xml</File>
    <File>form-20230401_lab.xml</File>
    <File>form-20230401_pre.xml</File>
    <File>formq123exh3101.htm</File>
    <File>formq123exh3102.htm</File>
    <File>formq123exh3201.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="806">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2022</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>81
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "form-20230401.htm": {
   "axisCustom": 0,
   "axisStandard": 28,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2022": 806,
    "http://xbrl.sec.gov/dei/2022": 29
   },
   "contextCount": 325,
   "dts": {
    "calculationLink": {
     "local": [
      "form-20230401_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "form-20230401_def.xml"
     ]
    },
    "inline": {
     "local": [
      "form-20230401.htm"
     ]
    },
    "labelLink": {
     "local": [
      "form-20230401_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "form-20230401_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "form-20230401.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "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://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/currency/2022/currency-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd"
     ]
    }
   },
   "elementCount": 473,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2022": 3,
    "http://xbrl.sec.gov/dei/2022": 5,
    "total": 8
   },
   "keyCustom": 10,
   "keyStandard": 248,
   "memberCustom": 23,
   "memberStandard": 64,
   "nsprefix": "form",
   "nsuri": "http://www.formfactor.com/20230401",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "0000001 - Document - Cover Page",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://www.formfactor.com/role/CoverPage",
     "shortName": "Cover Page",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000010 - Disclosure - Inventories, net",
     "menuCat": "Notes",
     "order": "10",
     "role": "http://www.formfactor.com/role/Inventoriesnet",
     "shortName": "Inventories, net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000011 - Disclosure - Goodwill and Intangible Assets",
     "menuCat": "Notes",
     "order": "11",
     "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssets",
     "shortName": "Goodwill and Intangible Assets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000012 - Disclosure - Accrued Liabilities",
     "menuCat": "Notes",
     "order": "12",
     "role": "http://www.formfactor.com/role/AccruedLiabilities",
     "shortName": "Accrued Liabilities",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000013 - Disclosure - Restructuring Charges",
     "menuCat": "Notes",
     "order": "13",
     "role": "http://www.formfactor.com/role/RestructuringCharges",
     "shortName": "Restructuring Charges",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000014 - Disclosure - Fair Value and Derivative Instruments",
     "menuCat": "Notes",
     "order": "14",
     "role": "http://www.formfactor.com/role/FairValueandDerivativeInstruments",
     "shortName": "Fair Value and Derivative Instruments",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000015 - Disclosure - Warranty",
     "menuCat": "Notes",
     "order": "15",
     "role": "http://www.formfactor.com/role/Warranty",
     "shortName": "Warranty",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000016 - Disclosure - Property, Plant, and Equipment, net",
     "menuCat": "Notes",
     "order": "16",
     "role": "http://www.formfactor.com/role/PropertyPlantandEquipmentnet",
     "shortName": "Property, Plant, and Equipment, net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000017 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation",
     "menuCat": "Notes",
     "order": "17",
     "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation",
     "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000018 - Disclosure - Net Income per Share",
     "menuCat": "Notes",
     "order": "18",
     "role": "http://www.formfactor.com/role/NetIncomeperShare",
     "shortName": "Net Income per Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000019 - Disclosure - Commitments and Contingencies",
     "menuCat": "Notes",
     "order": "19",
     "role": "http://www.formfactor.com/role/CommitmentsandContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:MarketableSecuritiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000020 - Disclosure - Leases",
     "menuCat": "Notes",
     "order": "20",
     "role": "http://www.formfactor.com/role/Leases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000021 - Disclosure - Revenue",
     "menuCat": "Notes",
     "order": "21",
     "role": "http://www.formfactor.com/role/Revenue",
     "shortName": "Revenue",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000022 - Disclosure - Operating Segments and Enterprise-Wide Information",
     "menuCat": "Notes",
     "order": "22",
     "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation",
     "shortName": "Operating Segments and Enterprise-Wide Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000023 - Disclosure - Basis of Presentation and Significant Accounting Policies (Policies)",
     "menuCat": "Policies",
     "order": "23",
     "role": "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies",
     "shortName": "Basis of Presentation and Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000024 - Disclosure - Concentration of Credit and Other Risks (Tables)",
     "menuCat": "Tables",
     "order": "24",
     "role": "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables",
     "shortName": "Concentration of Credit and Other Risks (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000025 - Disclosure - Inventories, net (Tables)",
     "menuCat": "Tables",
     "order": "25",
     "role": "http://www.formfactor.com/role/InventoriesnetTables",
     "shortName": "Inventories, net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000026 - Disclosure - Goodwill and Intangible Assets (Tables)",
     "menuCat": "Tables",
     "order": "26",
     "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables",
     "shortName": "Goodwill and Intangible Assets (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000027 - Disclosure - Accrued Liabilities (Tables)",
     "menuCat": "Tables",
     "order": "27",
     "role": "http://www.formfactor.com/role/AccruedLiabilitiesTables",
     "shortName": "Accrued Liabilities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000028 - Disclosure - Restructuring Charges (Tables)",
     "menuCat": "Tables",
     "order": "28",
     "role": "http://www.formfactor.com/role/RestructuringChargesTables",
     "shortName": "Restructuring Charges (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000029 - Disclosure - Fair Value and Derivative Instruments (Tables)",
     "menuCat": "Tables",
     "order": "29",
     "role": "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables",
     "shortName": "Fair Value and Derivative Instruments (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000030 - Disclosure - Warranty (Tables)",
     "menuCat": "Tables",
     "order": "30",
     "role": "http://www.formfactor.com/role/WarrantyTables",
     "shortName": "Warranty (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000031 - Disclosure - Property, Plant, and Equipment, net (Tables)",
     "menuCat": "Tables",
     "order": "31",
     "role": "http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables",
     "shortName": "Property, Plant, and Equipment, net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000032 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation (Tables)",
     "menuCat": "Tables",
     "order": "32",
     "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables",
     "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000033 - Disclosure - Net Income per Share (Tables)",
     "menuCat": "Tables",
     "order": "33",
     "role": "http://www.formfactor.com/role/NetIncomeperShareTables",
     "shortName": "Net Income per Share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000034 - Disclosure - Leases (Tables)",
     "menuCat": "Tables",
     "order": "34",
     "role": "http://www.formfactor.com/role/LeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000035 - Disclosure - Operating Segments and Enterprise-Wide Information (Tables)",
     "menuCat": "Tables",
     "order": "35",
     "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables",
     "shortName": "Operating Segments and Enterprise-Wide Information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i00e80c9aa2ea4901855189b27c589d19_I20230131",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "form:DeferredGovernmentGrantLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000036 - Disclosure - Basis of Presentation and Significant Accounting Policies (Details)",
     "menuCat": "Details",
     "order": "36",
     "role": "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails",
     "shortName": "Basis of Presentation and Significant Accounting Policies (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i00e80c9aa2ea4901855189b27c589d19_I20230131",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "form:DeferredGovernmentGrantLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:ConcentrationRiskPercentage1",
       "span",
       "div",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i2bd9c1713c3842a490bcbe89811f8192_D20230101-20230401",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000037 - Disclosure - Concentration of Credit and Other Risks (Details)",
     "menuCat": "Details",
     "order": "37",
     "role": "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails",
     "shortName": "Concentration of Credit and Other Risks (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:ConcentrationRiskPercentage1",
       "span",
       "div",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i2bd9c1713c3842a490bcbe89811f8192_D20230101-20230401",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000038 - Disclosure - Inventories, net (Details)",
     "menuCat": "Details",
     "order": "38",
     "role": "http://www.formfactor.com/role/InventoriesnetDetails",
     "shortName": "Inventories, net (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "iaf89c4969d754887acd078f58d431a4c_I20221231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000039 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)",
     "menuCat": "Details",
     "order": "39",
     "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails",
     "shortName": "Goodwill and Intangible Assets - Goodwill (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "idc0595bacd8744b39dc151edbaf37cf1_I20211225",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:Goodwill",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF INCOME",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillImpairmentLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000040 - Disclosure - Goodwill and Intangible Assets - Additional information (Details)",
     "menuCat": "Details",
     "order": "40",
     "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAdditionalinformationDetails",
     "shortName": "Goodwill and Intangible Assets - Additional information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillImpairmentLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000041 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details)",
     "menuCat": "Details",
     "order": "41",
     "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails",
     "shortName": "Goodwill and Intangible Assets - Intangible Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000042 - Disclosure - Goodwill and Intangible Assets - Amortization Expense (Details)",
     "menuCat": "Details",
     "order": "42",
     "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails",
     "shortName": "Goodwill and Intangible Assets - Amortization Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000043 - Disclosure - Accrued Liabilities (Details)",
     "menuCat": "Details",
     "order": "43",
     "role": "http://www.formfactor.com/role/AccruedLiabilitiesDetails",
     "shortName": "Accrued Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestructuringCharges",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000044 - Disclosure - Restructuring Charges - Narrative (Details)",
     "menuCat": "Details",
     "order": "44",
     "role": "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails",
     "shortName": "Restructuring Charges - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i0958eaad30e349a884297b4aa3f8860a_D20221025-20221025",
      "decimals": "2",
      "lang": "en-US",
      "name": "us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestructuringCharges",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000045 - Disclosure - Restructuring Charges - Restructuring Charges (Details)",
     "menuCat": "Details",
     "order": "45",
     "role": "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails",
     "shortName": "Restructuring Charges - Restructuring Charges (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i78b0bbf163f04290aa5a52fa5469e112_D20230101-20230401",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:RestructuringCharges",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "iaf89c4969d754887acd078f58d431a4c_I20221231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestructuringReserve",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000046 - Disclosure - Restructuring Charges - Changes to the Restructuring Accrual (Details)",
     "menuCat": "Details",
     "order": "46",
     "role": "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails",
     "shortName": "Restructuring Charges - Changes to the Restructuring Accrual (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:PaymentsForRestructuring",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000047 - Disclosure - Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details)",
     "menuCat": "Details",
     "order": "47",
     "role": "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails",
     "shortName": "Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i6d38e8f69b6149ba93fca93c6b09a6a1_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeNotionalAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "eur",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000048 - Disclosure - Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details)",
     "menuCat": "Details",
     "order": "48",
     "role": "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails",
     "shortName": "Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i6d38e8f69b6149ba93fca93c6b09a6a1_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeNotionalAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "eur",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AssetsFairValueDisclosure",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000049 - Disclosure - Fair Value and Derivative Instruments - Additional Information (Details)",
     "menuCat": "Details",
     "order": "49",
     "role": "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails",
     "shortName": "Fair Value and Derivative Instruments - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LiabilitiesFairValueDisclosure",
       "us-gaap:LiabilitiesFairValueDisclosure",
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i59e69ceb0cbf4e8081b2d6f4a653eb0c_I20230401",
      "decimals": "INF",
      "lang": "en-US",
      "name": "us-gaap:AssetsFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "iaf89c4969d754887acd078f58d431a4c_I20221231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyAccrual",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000050 - Disclosure - Warranty (Details)",
     "menuCat": "Details",
     "order": "50",
     "role": "http://www.formfactor.com/role/WarrantyDetails",
     "shortName": "Warranty (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "iaf89c4969d754887acd078f58d431a4c_I20221231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyAccrual",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000051 - Disclosure - Property, Plant, and Equipment, net (Details)",
     "menuCat": "Details",
     "order": "51",
     "role": "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails",
     "shortName": "Property, Plant, and Equipment, net (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i197efaea47d4405dbd3335cb3b157647_D20211226-20220326",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockRepurchasedAndRetiredDuringPeriodValue",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000052 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - Additional Information (Details)",
     "menuCat": "Details",
     "order": "52",
     "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails",
     "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i646de1cf07874f1ab881cc71b4ca6e7d_I20201026",
      "decimals": "INF",
      "lang": "en-US",
      "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i0a8f8e03f06649dfa412b9a69e5145c8_I20221231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000053 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details)",
     "menuCat": "Details",
     "order": "53",
     "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails",
     "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i0a8f8e03f06649dfa412b9a69e5145c8_I20221231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i4e183f1cc7304786a98e8841b1ec31aa_D20230101-20230401",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000054 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - ESPP Activity (Details)",
     "menuCat": "Details",
     "order": "54",
     "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails",
     "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - ESPP Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i4e183f1cc7304786a98e8841b1ec31aa_D20230101-20230401",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000055 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - Stock-Based Compensation (Details)",
     "menuCat": "Details",
     "order": "55",
     "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails",
     "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - Stock-Based Compensation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000056 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details)",
     "menuCat": "Details",
     "order": "56",
     "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails",
     "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000057 - Disclosure - Net Income per Share (Details)",
     "menuCat": "Details",
     "order": "57",
     "role": "http://www.formfactor.com/role/NetIncomeperShareDetails",
     "shortName": "Net Income per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseRenewalTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000058 - Disclosure - Leases - Narrative (Details)",
     "menuCat": "Details",
     "order": "58",
     "role": "http://www.formfactor.com/role/LeasesNarrativeDetails",
     "shortName": "Leases - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseRenewalTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000059 - Disclosure - Leases - Components of Lease Expense (Details)",
     "menuCat": "Details",
     "order": "59",
     "role": "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails",
     "shortName": "Leases - Components of Lease Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i250b5fcf41be4f459b62251ab366c697_I20211225",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommonStockSharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "menuCat": "Statements",
     "order": "6",
     "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i250b5fcf41be4f459b62251ab366c697_I20211225",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommonStockSharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000060 - Disclosure - Leases - Schedule of Future Minimum Payments Under Leases (Details)",
     "menuCat": "Details",
     "order": "60",
     "role": "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails",
     "shortName": "Leases - Schedule of Future Minimum Payments Under Leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000061 - Disclosure - Revenue - Additional Information (Details)",
     "menuCat": "Details",
     "order": "61",
     "role": "http://www.formfactor.com/role/RevenueAdditionalInformationDetails",
     "shortName": "Revenue - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "segment",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000062 - Disclosure - Operating Segments and Enterprise-Wide Information - Additional Information (Details)",
     "menuCat": "Details",
     "order": "62",
     "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationAdditionalInformationDetails",
     "shortName": "Operating Segments and Enterprise-Wide Information - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "segment",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000063 - Disclosure - Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details)",
     "menuCat": "Details",
     "order": "63",
     "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails",
     "shortName": "Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "3",
      "lang": "en-US",
      "name": "form:GrossMarginPercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000064 - Disclosure - Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details)",
     "menuCat": "Details",
     "order": "64",
     "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails",
     "shortName": "Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "i1a676884d1a04c6e87b1f9cf3f175b7a_D20230101-20230401",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "menuCat": "Statements",
     "order": "7",
     "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000008 - Disclosure - Basis of Presentation and Significant Accounting Policies",
     "menuCat": "Notes",
     "order": "8",
     "role": "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies",
     "shortName": "Basis of Presentation and Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000009 - Disclosure - Concentration of Credit and Other Risks",
     "menuCat": "Notes",
     "order": "9",
     "role": "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks",
     "shortName": "Concentration of Credit and Other Risks",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form-20230401.htm",
      "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 88,
   "tag": {
    "country_CN": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CHINA",
        "terseLabel": "China"
       }
      }
     },
     "localname": "CN",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_JP": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "JAPAN",
        "terseLabel": "Japan"
       }
      }
     },
     "localname": "JP",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_KR": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "KOREA, REPUBLIC OF",
        "terseLabel": "South Korea"
       }
      }
     },
     "localname": "KR",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_MY": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "MALAYSIA",
        "terseLabel": "Malaysia"
       }
      }
     },
     "localname": "MY",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_SG": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "SINGAPORE",
        "terseLabel": "Singapore"
       }
      }
     },
     "localname": "SG",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_TW": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "TAIWAN",
        "terseLabel": "Taiwan"
       }
      }
     },
     "localname": "TW",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "terseLabel": "United States"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_AllCurrenciesDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Currencies [Domain]",
        "terseLabel": "All Currencies [Domain]"
       }
      }
     },
     "localname": "AllCurrenciesDomain",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_EUR": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Euro Member Countries, Euro",
        "terseLabel": "Euro Dollar"
       }
      }
     },
     "localname": "EUR",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_JPY": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Japan, Yen",
        "terseLabel": "Japanese Yen"
       }
      }
     },
     "localname": "JPY",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_KRW": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Korea (South), Won",
        "terseLabel": "Korean Won"
       }
      }
     },
     "localname": "KRW",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_TWD": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Taiwan, New Dollars",
        "terseLabel": "Taiwan Dollar"
       }
      }
     },
     "localname": "TWD",
     "nsuri": "http://xbrl.sec.gov/currency/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code",
        "terseLabel": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]",
        "terseLabel": "Cover page."
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Fiscal Period Focus",
        "terseLabel": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Fiscal Year Focus",
        "terseLabel": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report",
        "terseLabel": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r538"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report",
        "terseLabel": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type",
        "terseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code",
        "terseLabel": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province",
        "terseLabel": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status",
        "terseLabel": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number",
        "terseLabel": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category",
        "terseLabel": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r539"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current",
        "terseLabel": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company",
        "terseLabel": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business",
        "terseLabel": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number",
        "terseLabel": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r534"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security",
        "terseLabel": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r536"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.formfactor.com/role/CoverPage"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "form_A2021RestructuringPlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2021 Restructuring Plan",
        "label": "2021 Restructuring Plan [Member]",
        "terseLabel": "2021 Restructuring Plan"
       }
      }
     },
     "localname": "A2021RestructuringPlanMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_A2022RestructuringPlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2022 Restructuring Plan",
        "label": "2022 Restructuring Plan [Member]",
        "terseLabel": "2022 Restructuring Plan"
       }
      }
     },
     "localname": "A2022RestructuringPlanMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_ChangeInCapitalExpendituresIncurredButNotYetPaid": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Change In Capital Expenditures Incurred But Not Yet Paid",
        "label": "Change In Capital Expenditures Incurred But Not Yet Paid",
        "terseLabel": "Decrease in accounts payable and accrued liabilities related to property, plant and equipment purchases"
       }
      }
     },
     "localname": "ChangeInCapitalExpendituresIncurredButNotYetPaid",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "form_CustomersRepresenting10OrMoreOfTotalRevenuesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customers Representing 10% or More of Total Revenues",
        "label": "Customers Representing 10% or More of Total Revenues [Member]",
        "terseLabel": "Customers Representing 10% or More of Total Revenues"
       }
      }
     },
     "localname": "CustomersRepresenting10OrMoreOfTotalRevenuesMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_DRAMProductGroupMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "DRAM Product Group [Member]",
        "label": "DRAM Product Group [Member]",
        "terseLabel": "DRAM"
       }
      }
     },
     "localname": "DRAMProductGroupMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_DeferredGovernmentGrantLiability": {
     "auth_ref": [],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Government Grant Liability",
        "label": "Deferred Government Grant Liability",
        "terseLabel": "Deferred grant",
        "verboseLabel": "Cash received from grant"
       }
      }
     },
     "localname": "DeferredGovernmentGrantLiability",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails",
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "form_DeferredGovernmentGrantLiabilityTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Government Grant Liability, Term",
        "label": "Deferred Government Grant Liability, Term",
        "terseLabel": "Grant term"
       }
      }
     },
     "localname": "DeferredGovernmentGrantLiabilityTerm",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "form_EquityIncentivePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity Incentive Plan [Member]",
        "label": "Equity Incentive Plan [Member]",
        "terseLabel": "Equity Incentive Plan"
       }
      }
     },
     "localname": "EquityIncentivePlanMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_ExistingDevelopedTechnologiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Existing Developed Technologies [Member]",
        "label": "Existing Developed Technologies [Member]",
        "verboseLabel": "Existing developed technologies"
       }
      }
     },
     "localname": "ExistingDevelopedTechnologiesMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": {
       "order": 1.0,
       "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal": {
     "auth_ref": [],
     "calculation": {
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finite Lived Intangible Assets Amortization Expense Total",
        "label": "Finite Lived Intangible Assets Amortization Expense Total",
        "totalLabel": "Net"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTotal",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "form_FlashProductGroupMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Flash Product Group [Member]",
        "label": "Flash Product Group [Member]",
        "terseLabel": "Flash"
       }
      }
     },
     "localname": "FlashProductGroupMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_FoundryLogicProductGroupMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Foundry &amp; Logic Product Group [Member]",
        "label": "Foundry &amp; Logic Product Group [Member]",
        "terseLabel": "Foundry &amp; Logic"
       }
      }
     },
     "localname": "FoundryLogicProductGroupMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_GrossMarginPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross Margin, Percent",
        "label": "Gross Margin, Percent",
        "terseLabel": "Gross margin"
       }
      }
     },
     "localname": "GrossMarginPercent",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "form_IncreaseDecreaseInDeferredGovernmentGrant": {
     "auth_ref": [],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (Decrease) in Deferred Government Grant",
        "label": "Increase (Decrease) in Deferred Government Grant",
        "terseLabel": "Deferred grant"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredGovernmentGrant",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "form_IntelMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intel [Member]",
        "label": "Intel [Member]",
        "terseLabel": "Intel Corporation"
       }
      }
     },
     "localname": "IntelMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_InventoryImpairmentsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventory Impairments [Member]",
        "label": "Inventory Impairments [Member]",
        "terseLabel": "Inventory Impairments &amp; Other Inventory Related Costs"
       }
      }
     },
     "localname": "InventoryImpairmentsMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails",
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Operating Lease, Liability, to be Paid, after Year Four",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Four",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "form_MajorCustomer1Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer 1 [Member]",
        "label": "Major Customer 1 [Member]",
        "terseLabel": "Major Customer 1"
       }
      }
     },
     "localname": "MajorCustomer1Member",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_MajorCustomer2Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Major Customer 2",
        "label": "Major Customer 2 [Member]",
        "terseLabel": "Major Customer 2"
       }
      }
     },
     "localname": "MajorCustomer2Member",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_May2022StockRepurchaseProgramMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "May 2022 Stock Repurchase Program",
        "label": "May 2022 Stock Repurchase Program [Member]",
        "terseLabel": "May 2022 Stock Repurchase Program"
       }
      }
     },
     "localname": "May2022StockRepurchaseProgramMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_October2020StockRepurchaseProgramMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "October 2020 Stock Repurchase Program",
        "label": "October 2020 Stock Repurchase Program [Member]",
        "terseLabel": "October 2020 Stock Repurchase Program"
       }
      }
     },
     "localname": "October2020StockRepurchaseProgramMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_PerformanceRestrictedStockUnitsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Performance Restricted Stock Units [Member]",
        "label": "Performance Restricted Stock Units [Member]",
        "verboseLabel": "Performance restricted stock units"
       }
      }
     },
     "localname": "PerformanceRestrictedStockUnitsMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_ProbeCardsSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Probe Cards Segment [Member]",
        "label": "Probe Cards Segment [Member]",
        "terseLabel": "Probe Cards"
       }
      }
     },
     "localname": "ProbeCardsSegmentMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails",
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails",
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails",
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails",
      "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress": {
     "auth_ref": [],
     "calculation": {
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Property Plant And Equipment Net, Excludes Construction in Progress",
        "label": "Property Plant And Equipment Net, Excludes Construction in Progress",
        "totalLabel": "Net, property, plant and equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNetExcludesConstructionInProgress",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "form_RestOfTheWorldMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rest Of The World [Member]",
        "label": "Rest Of The World [Member]",
        "terseLabel": "Rest of the world"
       }
      }
     },
     "localname": "RestOfTheWorldMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_StockBasedCompensationMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock-based Compensation",
        "label": "Stock-based Compensation [Member]",
        "terseLabel": "Stock-based Compensation"
       }
      }
     },
     "localname": "StockBasedCompensationMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails",
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_SystemsProductGroupMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Systems Product Group [Member]",
        "label": "Systems Product Group [Member]",
        "terseLabel": "Systems"
       }
      }
     },
     "localname": "SystemsProductGroupMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_SystemsSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Systems Segment [Member]",
        "label": "Systems Segment [Member]",
        "terseLabel": "Systems"
       }
      }
     },
     "localname": "SystemsSegmentMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails",
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails",
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails",
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails",
      "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_TaiwanSemiconductorManufacturingCoLTDMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Taiwan Semiconductor Manufacturing Co., LTD",
        "label": "Taiwan Semiconductor Manufacturing Co., LTD [Member]",
        "terseLabel": "Taiwan Semiconductor Manufacturing Co., LTD."
       }
      }
     },
     "localname": "TaiwanSemiconductorManufacturingCoLTDMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_TwoMajorCustomersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two Major Customers",
        "label": "Two Major Customers [Member]",
        "terseLabel": "Two Major Customers"
       }
      }
     },
     "localname": "TwoMajorCustomersMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted Average Per Share Discount From Fair Value From Date Of Issuance, Common Stock",
        "label": "Weighted Average Per Share Discount From Fair Value From Date Of Issuance, Common Stock",
        "terseLabel": "Weighted average per share discount from the fair value of our common stock on the date of issuance (in dollars per share)"
       }
      }
     },
     "localname": "WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "form_WoburnMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Woburn",
        "label": "Woburn [Member]",
        "terseLabel": "Woburn"
       }
      }
     },
     "localname": "WoburnMember",
     "nsuri": "http://www.formfactor.com/20230401",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ConsolidationItemsAxis": {
     "auth_ref": [
      "r194",
      "r231",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r249",
      "r253",
      "r308",
      "r309",
      "r310",
      "r311",
      "r313",
      "r314",
      "r316",
      "r318",
      "r319",
      "r581",
      "r582"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Axis]",
        "terseLabel": "Consolidation Items [Axis]"
       }
      }
     },
     "localname": "ConsolidationItemsAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails",
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidationItemsDomain": {
     "auth_ref": [
      "r194",
      "r231",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r249",
      "r253",
      "r308",
      "r309",
      "r310",
      "r311",
      "r313",
      "r314",
      "r316",
      "r318",
      "r319",
      "r581",
      "r582"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Domain]",
        "terseLabel": "Consolidation Items [Domain]"
       }
      }
     },
     "localname": "ConsolidationItemsDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails",
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CurrencyAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Currency [Axis]",
        "terseLabel": "Currency [Axis]"
       }
      }
     },
     "localname": "CurrencyAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_EuropeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Europe [Member]",
        "terseLabel": "Europe"
       }
      }
     },
     "localname": "EuropeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r259",
      "r516",
      "r585",
      "r635"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]",
        "terseLabel": "Major Customers [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r304",
      "r305",
      "r306",
      "r307",
      "r363",
      "r453",
      "r468",
      "r492",
      "r493",
      "r513",
      "r526",
      "r533",
      "r583",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r304",
      "r305",
      "r306",
      "r307",
      "r363",
      "r453",
      "r468",
      "r492",
      "r493",
      "r513",
      "r526",
      "r533",
      "r583",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r259",
      "r516",
      "r585",
      "r635"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]",
        "terseLabel": "Name of Major Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r255",
      "r454",
      "r514",
      "r531",
      "r578",
      "r579",
      "r585",
      "r634"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "terseLabel": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r255",
      "r454",
      "r514",
      "r531",
      "r578",
      "r579",
      "r585",
      "r634"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]",
        "terseLabel": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r304",
      "r305",
      "r306",
      "r307",
      "r356",
      "r363",
      "r390",
      "r391",
      "r392",
      "r452",
      "r453",
      "r468",
      "r492",
      "r493",
      "r513",
      "r526",
      "r533",
      "r576",
      "r583",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r304",
      "r305",
      "r306",
      "r307",
      "r356",
      "r363",
      "r390",
      "r391",
      "r392",
      "r452",
      "r453",
      "r468",
      "r492",
      "r493",
      "r513",
      "r526",
      "r533",
      "r576",
      "r583",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Statistical Measurement [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r256",
      "r257",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r515",
      "r532",
      "r585"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]",
        "terseLabel": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r256",
      "r257",
      "r476",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r515",
      "r532",
      "r585"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "terseLabel": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "auth_ref": [
      "r14"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.",
        "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]",
        "terseLabel": "Accrued Liabilities"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/AccruedLiabilities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r13",
      "r530"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts Receivable"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r261",
      "r262"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "terseLabel": "Accounts receivable, net of allowance for credit losses of $169 and $168"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedEmployeeBenefitsCurrent": {
     "auth_ref": [
      "r17"
     ],
     "calculation": {
      "http://www.formfactor.com/role/AccruedLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Accrued Employee Benefits, Current",
        "terseLabel": "Employee stock purchase plan contributions withheld"
       }
      }
     },
     "localname": "AccruedEmployeeBenefitsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/AccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r17"
     ],
     "calculation": {
      "http://www.formfactor.com/role/AccruedLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. 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).",
        "label": "Accrued Liabilities, Current",
        "terseLabel": "Accrued liabilities",
        "totalLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/AccruedLiabilitiesDetails",
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r71",
      "r155"
     ],
     "calculation": {
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": {
       "order": 2.0,
       "parentTag": "form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedTerseLabel": "Less: Accumulated depreciation and amortization"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r22",
      "r23",
      "r24",
      "r164",
      "r463",
      "r473",
      "r474"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r21",
      "r24",
      "r106",
      "r448",
      "r469",
      "r470",
      "r545",
      "r546",
      "r547",
      "r555",
      "r556",
      "r557"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss)"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r5"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r396",
      "r397",
      "r398",
      "r555",
      "r556",
      "r557",
      "r617"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r98",
      "r99",
      "r365"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r394"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Share-Based Payment Arrangement, Expense",
        "terseLabel": "Total stock-based compensation"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r165",
      "r263",
      "r266"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "terseLabel": "Allowance for doubtful accounts"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r40",
      "r62",
      "r67"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Amortization of Intangible Assets",
        "terseLabel": "Amortization of intangible assets"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r219"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Securities not included as they would have been antidilutive (in shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/NetIncomeperShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r131",
      "r140",
      "r159",
      "r192",
      "r239",
      "r245",
      "r251",
      "r264",
      "r308",
      "r309",
      "r311",
      "r312",
      "r313",
      "r315",
      "r317",
      "r319",
      "r320",
      "r407",
      "r409",
      "r426",
      "r530",
      "r581",
      "r582",
      "r624"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r151",
      "r167",
      "r192",
      "r264",
      "r308",
      "r309",
      "r311",
      "r312",
      "r313",
      "r315",
      "r317",
      "r319",
      "r320",
      "r407",
      "r409",
      "r426",
      "r530",
      "r581",
      "r582",
      "r624"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsFairValueDisclosure": {
     "auth_ref": [
      "r121"
     ],
     "calculation": {
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Fair Value Disclosure",
        "terseLabel": "Assets measured at fair value on non-recurring basis",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "AssetsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails",
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AutomobilesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vehicles that are used primarily for transporting people.",
        "label": "Automobiles [Member]",
        "terseLabel": "Automobiles"
       }
      }
     },
     "localname": "AutomobilesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of Presentation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Building and Building Improvements [Member]",
        "terseLabel": "Building and building improvements"
       }
      }
     },
     "localname": "BuildingAndBuildingImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [
      "r406",
      "r524",
      "r525"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.",
        "label": "Business Acquisition, Acquiree [Domain]",
        "terseLabel": "Business Acquisition, Acquiree [Domain]"
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r101",
      "r102",
      "r406",
      "r524",
      "r525"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]",
        "terseLabel": "Business Acquisition [Axis]"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r42",
      "r153",
      "r495"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsFairValueDisclosure": {
     "auth_ref": [],
     "calculation": {
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion 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.",
        "label": "Cash and Cash Equivalents, Fair Value Disclosure",
        "terseLabel": "Cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r37",
      "r42",
      "r44"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "periodEndLabel": "Cash, cash equivalents and restricted cash, end of period",
        "periodStartLabel": "Cash, cash equivalents and restricted cash, beginning of period",
        "totalLabel": "Total cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents [Abstract]",
        "terseLabel": "Reconciliation of cash, cash equivalents and restricted cash:"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r37",
      "r129"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including 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.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net increase in cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CertificatesOfDepositMember": {
     "auth_ref": [
      "r139"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Short to medium-term investment available at banks and savings and loan institutions where a customer agrees to lend money to the institution for a certain amount of time and is paid a predetermined rate of interest. Certificates of deposit (CD) are typically Federal Deposit Insurance Corporation (FDIC) insured.",
        "label": "Certificates of Deposit [Member]",
        "terseLabel": "Certificates of deposit"
       }
      }
     },
     "localname": "CertificatesOfDepositMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r161",
      "r162",
      "r163",
      "r192",
      "r210",
      "r214",
      "r216",
      "r218",
      "r225",
      "r226",
      "r264",
      "r308",
      "r311",
      "r312",
      "r313",
      "r319",
      "r320",
      "r322",
      "r323",
      "r325",
      "r329",
      "r335",
      "r426",
      "r494",
      "r540",
      "r553",
      "r558"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Class of Stock [Domain]",
        "terseLabel": "Class of Stock [Domain]"
       }
      }
     },
     "localname": "ClassOfStockDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommercialPaperMember": {
     "auth_ref": [
      "r88"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds.",
        "label": "Commercial Paper [Member]",
        "terseLabel": "Commercial paper"
       }
      }
     },
     "localname": "CommercialPaperMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]",
        "terseLabel": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r79",
      "r302",
      "r303",
      "r479",
      "r580"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CommitmentsandContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r555",
      "r556",
      "r617"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r4",
      "r89"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "periodEndLabel": "Ending balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)",
        "terseLabel": "Common stock, shares outstanding (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical",
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r4",
      "r530"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Common Stock, Value, Issued",
        "verboseLabel": "Common stock, $0.001 par value"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r25",
      "r175",
      "r177",
      "r182",
      "r459",
      "r465"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComputerEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.",
        "label": "Computer Equipment [Member]",
        "terseLabel": "Computer equipment and software"
       }
      }
     },
     "localname": "ComputerEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r49",
      "r50",
      "r126",
      "r127",
      "r259",
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]",
        "terseLabel": "Concentration Risk Benchmark [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r49",
      "r50",
      "r126",
      "r127",
      "r259",
      "r475",
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]",
        "terseLabel": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r49",
      "r50",
      "r126",
      "r127",
      "r259",
      "r478",
      "r636"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]",
        "terseLabel": "Concentration Risk Type [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "auth_ref": [
      "r52"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date.",
        "label": "Concentration Risk Disclosure [Text Block]",
        "terseLabel": "Concentration of Credit and Other Risks"
       }
      }
     },
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Concentration Risk [Line Items]",
        "terseLabel": "Concentration Risk [Line Items]"
       }
      }
     },
     "localname": "ConcentrationRiskLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r49",
      "r50",
      "r126",
      "r127",
      "r259"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Concentration risk percentage"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTable": {
     "auth_ref": [
      "r47",
      "r49",
      "r50",
      "r51",
      "r126",
      "r128",
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Concentration Risk [Table]",
        "terseLabel": "Concentration Risk [Table]"
       }
      }
     },
     "localname": "ConcentrationRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r49",
      "r50",
      "r126",
      "r127",
      "r259",
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Concentration Risk Type [Domain]",
        "terseLabel": "Concentration Risk Type [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConstructionInProgressGross": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.",
        "label": "Construction in Progress, Gross",
        "terseLabel": "Construction-in-process"
       }
      }
     },
     "localname": "ConstructionInProgressGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractTerminationMember": {
     "auth_ref": [
      "r507",
      "r508",
      "r509",
      "r510"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Termination of a contract associated with exit from or disposal of business activities or restructurings pursuant to a plan.",
        "label": "Contract Termination [Member]",
        "terseLabel": "Contract Termination &amp; Other Costs"
       }
      }
     },
     "localname": "ContractTerminationMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerAssetNet": {
     "auth_ref": [
      "r337",
      "r339",
      "r352"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss",
        "terseLabel": "Contract assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RevenueAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r337",
      "r338",
      "r352"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Contract with Customer, Liability",
        "terseLabel": "Contract with customer, liability"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RevenueAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r353"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "terseLabel": "Revenue recognized included in contracts"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RevenueAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CorporateAndOtherMember": {
     "auth_ref": [
      "r561"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Component of an entity that provides financial and operational oversight and administrative support for other segments and other segments not separately reported due to size or nature of business activities. Excludes intersegment elimination and reconciling items.",
        "label": "Corporate and Other [Member]",
        "terseLabel": "Corporate and Other"
       }
      }
     },
     "localname": "CorporateAndOtherMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CorporateBondSecuritiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This category includes information about long-term debt securities that are issued by either a domestic or foreign corporate business entity with a date certain promise of repayment and a return to the holder for the time value of money (for example, variable or fixed interest, original issue discount).",
        "label": "Corporate Bond Securities [Member]",
        "terseLabel": "Corporate bonds"
       }
      }
     },
     "localname": "CorporateBondSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CorporateNonSegmentMember": {
     "auth_ref": [
      "r56",
      "r244",
      "r245",
      "r246",
      "r247",
      "r253",
      "r563"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment.",
        "label": "Corporate, Non-Segment [Member]",
        "terseLabel": "Corporate, Non-Segment"
       }
      }
     },
     "localname": "CorporateNonSegmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r30",
      "r454"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of revenues"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSoldAmortization": {
     "auth_ref": [
      "r548"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for allocation of cost of intangible asset over its useful life directly used in production of good and rendering of service.",
        "label": "Cost, Amortization",
        "terseLabel": "Amortization"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSoldAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing cost of sales.",
        "label": "Cost of Sales [Member]",
        "terseLabel": "Cost of revenues"
       }
      }
     },
     "localname": "CostOfSalesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails",
      "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r48",
      "r259"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer Concentration Risk"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerRelationshipsMember": {
     "auth_ref": [
      "r104"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.",
        "label": "Customer Relationships [Member]",
        "terseLabel": "Customer relationships"
       }
      }
     },
     "localname": "CustomerRelationshipsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 6.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of unearned revenue or income, not otherwise specified in the taxonomy, which is expected to be taken into income after one year or beyond the normal operating cycle, if longer and noncurrent obligations not separately disclosed in the balance sheet (other liabilities, noncurrent).",
        "label": "Deferred Credits and Other Liabilities, Noncurrent",
        "terseLabel": "Other liabilities"
       }
      }
     },
     "localname": "DeferredCreditsAndOtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r399",
      "r400"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 8.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.",
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred tax assets"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r399",
      "r400"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred Income Tax Liabilities, Net",
        "terseLabel": "Deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredRevenueCurrent": {
     "auth_ref": [
      "r543"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Deferred Revenue, Current",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "DeferredRevenueCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r40",
      "r69"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Depreciation",
        "terseLabel": "Depreciation"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeAssets": {
     "auth_ref": [
      "r168",
      "r169",
      "r425",
      "r500"
     ],
     "calculation": {
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.",
        "label": "Derivative Asset",
        "terseLabel": "Derivative contracts"
       }
      }
     },
     "localname": "DerivativeAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.",
        "label": "Derivative Contract [Domain]",
        "terseLabel": "Derivative Contract [Domain]"
       }
      }
     },
     "localname": "DerivativeContractTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails",
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "auth_ref": [
      "r113",
      "r114",
      "r116",
      "r117",
      "r500"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of derivative contract.",
        "label": "Derivative Instrument [Axis]",
        "terseLabel": "Derivative Instrument [Axis]"
       }
      }
     },
     "localname": "DerivativeInstrumentRiskAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails",
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeLiabilities": {
     "auth_ref": [
      "r168",
      "r169",
      "r425",
      "r500"
     ],
     "calculation": {
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesFairValueDisclosure",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.",
        "label": "Derivative Liability",
        "negatedTerseLabel": "Derivative liability"
       }
      }
     },
     "localname": "DerivativeLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Derivative [Line Items]",
        "terseLabel": "Derivative [Line Items]"
       }
      }
     },
     "localname": "DerivativeLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeNotionalAmount": {
     "auth_ref": [
      "r615",
      "r616"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nominal or face amount used to calculate payment on derivative.",
        "label": "Derivative, Notional Amount",
        "terseLabel": "Derivative, notional amount"
       }
      }
     },
     "localname": "DerivativeNotionalAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeTable": {
     "auth_ref": [
      "r108",
      "r109",
      "r110",
      "r111",
      "r112",
      "r115",
      "r116",
      "r118",
      "r119",
      "r120",
      "r412"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule that describes and identifies a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item.",
        "label": "Derivative [Table]",
        "terseLabel": "Derivative [Table]"
       }
      }
     },
     "localname": "DerivativeTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DesignatedAsHedgingInstrumentMember": {
     "auth_ref": [
      "r111"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).",
        "label": "Designated as Hedging Instrument [Member]",
        "terseLabel": "Designated as hedging instrument"
       }
      }
     },
     "localname": "DesignatedAsHedgingInstrumentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Disaggregation of Revenue [Line Items]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r351",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table]",
        "terseLabel": "Disaggregation of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r585"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "terseLabel": "Schedule of Disaggregation of Revenue by Segment"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Net income per share:"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r183",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r208",
      "r210",
      "r216",
      "r217",
      "r218",
      "r222",
      "r415",
      "r416",
      "r460",
      "r466",
      "r503"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Basic (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r183",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r210",
      "r216",
      "r217",
      "r218",
      "r222",
      "r415",
      "r416",
      "r460",
      "r466",
      "r503"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Diluted (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r219",
      "r220",
      "r221",
      "r223"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Net Income per Share"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/NetIncomeperShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r427"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 4.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts 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.",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations",
        "terseLabel": "Effect of exchange rate changes on cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r17"
     ],
     "calculation": {
      "http://www.formfactor.com/role/AccruedLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Employee-related Liabilities, Current",
        "terseLabel": "Accrued compensation and benefits"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/AccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]",
        "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Average Expected Recognition Period in Years"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "auth_ref": [
      "r614"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount",
        "terseLabel": "Unrecognized Expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeSeveranceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Termination of an employee associated with exit from or disposal of business activities or restructurings pursuant to a plan.",
        "label": "Employee Severance [Member]",
        "terseLabel": "Employee Severance and Benefits"
       }
      }
     },
     "localname": "EmployeeSeveranceMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails",
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EmployeeStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An Employee Stock Purchase Plan is a tax-efficient means by which employees of a corporation can purchase the corporation's stock.",
        "label": "Employee Stock [Member]",
        "terseLabel": "Employee stock purchase plan"
       }
      }
     },
     "localname": "EmployeeStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services.",
        "label": "Equipment [Member]",
        "terseLabel": "Machinery and equipment"
       }
      }
     },
     "localname": "EquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]",
        "terseLabel": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r89",
      "r148",
      "r178",
      "r179",
      "r180",
      "r195",
      "r196",
      "r197",
      "r199",
      "r205",
      "r207",
      "r224",
      "r265",
      "r336",
      "r396",
      "r397",
      "r398",
      "r402",
      "r403",
      "r414",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r434",
      "r448",
      "r469",
      "r470",
      "r471"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]",
        "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r417",
      "r418",
      "r423"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.",
        "label": "Fair Value, Recurring and Nonrecurring [Table]",
        "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": {
     "auth_ref": [
      "r122"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class of asset.",
        "label": "Asset Class [Domain]",
        "terseLabel": "Fair Value by Asset Class [Domain]"
       }
      }
     },
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]",
        "terseLabel": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]"
       }
      }
     },
     "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByAssetClassAxis": {
     "auth_ref": [
      "r121",
      "r123"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by class of asset.",
        "label": "Asset Class [Axis]",
        "terseLabel": "Asset Class [Axis]"
       }
      }
     },
     "localname": "FairValueByAssetClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByBalanceSheetGroupingTable": {
     "auth_ref": [
      "r121",
      "r124",
      "r125"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities.",
        "label": "Fair Value, by Balance Sheet Grouping [Table]",
        "terseLabel": "Fair Value, by Balance Sheet Grouping [Table]"
       }
      }
     },
     "localname": "FairValueByBalanceSheetGroupingTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r321",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r418",
      "r449",
      "r450",
      "r451",
      "r511",
      "r512",
      "r521",
      "r522",
      "r523"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "terseLabel": "Fair Value Hierarchy and NAV [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r417",
      "r418",
      "r419",
      "r420",
      "r424"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by measurement frequency.",
        "label": "Measurement Frequency [Axis]",
        "terseLabel": "Measurement Frequency [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementFrequencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]",
        "terseLabel": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r422"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.",
        "label": "Fair Value Disclosures [Text Block]",
        "terseLabel": "Fair Value and Derivative Instruments"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstruments"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r321",
      "r357",
      "r362",
      "r418",
      "r449",
      "r521",
      "r522",
      "r523"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.",
        "label": "Fair Value, Inputs, Level 1 [Member]",
        "terseLabel": "Level 1"
       }
      }
     },
     "localname": "FairValueInputsLevel1Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r321",
      "r357",
      "r362",
      "r418",
      "r450",
      "r511",
      "r512",
      "r521",
      "r522",
      "r523"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.",
        "label": "Fair Value, Inputs, Level 2 [Member]",
        "terseLabel": "Level 2"
       }
      }
     },
     "localname": "FairValueInputsLevel2Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r321",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r418",
      "r451",
      "r511",
      "r512",
      "r521",
      "r522",
      "r523"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "terseLabel": "Level 3"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement frequency.",
        "label": "Measurement Frequency [Domain]",
        "terseLabel": "Measurement Frequency [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementFrequencyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value Measurement, Policy [Policy Text Block]",
        "terseLabel": "Fair Value"
       }
      }
     },
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r321",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r449",
      "r450",
      "r451",
      "r511",
      "r512",
      "r521",
      "r522",
      "r523"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "terseLabel": "Fair Value Hierarchy and NAV [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsNonrecurringMember": {
     "auth_ref": [
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r424"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Infrequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, not frequently measured at fair value.",
        "label": "Fair Value, Nonrecurring [Member]",
        "terseLabel": "Nonrecurring"
       }
      }
     },
     "localname": "FairValueMeasurementsNonrecurringMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r157",
      "r284"
     ],
     "calculation": {
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "terseLabel": "Accumulated Amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r68"
     ],
     "calculation": {
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": {
       "order": 6.0,
       "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": {
     "auth_ref": [],
     "calculation": {
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": {
       "order": 5.0,
       "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year",
        "terseLabel": "Remainder of 2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life.",
        "label": "Finite-Lived Intangible Assets Amortization Expense [Table Text Block]",
        "terseLabel": "Schedule of Amortization Expense"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r68"
     ],
     "calculation": {
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": {
       "order": 3.0,
       "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "terseLabel": "2027"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r68"
     ],
     "calculation": {
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": {
       "order": 4.0,
       "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r68"
     ],
     "calculation": {
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": {
       "order": 2.0,
       "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r282",
      "r283",
      "r284",
      "r285",
      "r455",
      "r456"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r66",
      "r456"
     ],
     "calculation": {
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "Finite-Lived Intangible Assets [Line Items]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r63",
      "r65"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r66",
      "r455"
     ],
     "calculation": {
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Net",
        "totalLabel": "Net"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [Abstract]",
        "terseLabel": "Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [Abstract]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiscalPeriod": {
     "auth_ref": [
      "r105"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining an entity's fiscal year or other fiscal period. This disclosure may include identification of the fiscal period end-date, the length of the fiscal period, any reporting period lag between the entity and its subsidiaries, or equity investees. If a reporting lag exists, the closing date of the entity having a different period end is generally noted, along with an explanation of the necessity for using different closing dates. Any intervening events that materially affect the entity's financial position or results of operations are generally also disclosed.",
        "label": "Fiscal Period, Policy [Policy Text Block]",
        "terseLabel": "Fiscal Year"
       }
      }
     },
     "localname": "FiscalPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ForeignExchangeContractMember": {
     "auth_ref": [
      "r500",
      "r521",
      "r528"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative instrument whose primary underlying risk is tied to foreign exchange rates.",
        "label": "Foreign Exchange Contract [Member]",
        "terseLabel": "Foreign exchange derivative contracts"
       }
      }
     },
     "localname": "ForeignExchangeContractMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ForeignExchangeForwardMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate.",
        "label": "Foreign Exchange Forward [Member]",
        "terseLabel": "Foreign Exchange Forward"
       }
      }
     },
     "localname": "ForeignExchangeForwardMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.",
        "label": "Furniture and Fixtures [Member]",
        "terseLabel": "Furniture and fixtures"
       }
      }
     },
     "localname": "FurnitureAndFixturesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r156",
      "r269",
      "r457",
      "r506",
      "r530",
      "r565",
      "r572"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Goodwill",
        "periodEndLabel": "Goodwill, ending balance",
        "periodStartLabel": "Goodwill, beginning balance",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "auth_ref": [
      "r272",
      "r506"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.",
        "label": "Goodwill, Acquired During Period",
        "terseLabel": "Goodwill, acquired during period"
       }
      }
     },
     "localname": "GoodwillAcquiredDuringPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]",
        "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "auth_ref": [
      "r276"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Foreign Currency Translation Gain (Loss)",
        "terseLabel": "Foreign currency translation"
       }
      }
     },
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "auth_ref": [
      "r40",
      "r270",
      "r275",
      "r281",
      "r506"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill, Impairment Loss",
        "terseLabel": "Goodwill, impairment loss"
       }
      }
     },
     "localname": "GoodwillImpairmentLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAdditionalinformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Goodwill [Line Items]",
        "terseLabel": "Goodwill [Line Items]"
       }
      }
     },
     "localname": "GoodwillLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Goodwill [Roll Forward]",
        "terseLabel": "Goodwill [Roll Forward]"
       }
      }
     },
     "localname": "GoodwillRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r29",
      "r192",
      "r239",
      "r244",
      "r250",
      "r253",
      "r264",
      "r308",
      "r309",
      "r311",
      "r312",
      "r313",
      "r315",
      "r317",
      "r319",
      "r320",
      "r426",
      "r505",
      "r581"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "terseLabel": "Gross profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_HedgingDesignationAxis": {
     "auth_ref": [
      "r111",
      "r411"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by designation of purpose of derivative instrument.",
        "label": "Hedging Designation [Axis]",
        "terseLabel": "Hedging Designation [Axis]"
       }
      }
     },
     "localname": "HedgingDesignationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_HedgingDesignationDomain": {
     "auth_ref": [
      "r111"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designation of purpose of derivative instrument.",
        "label": "Hedging Designation [Domain]",
        "terseLabel": "Hedging Designation [Domain]"
       }
      }
     },
     "localname": "HedgingDesignationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InProcessResearchAndDevelopmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process.",
        "label": "In Process Research and Development [Member]",
        "terseLabel": "In-process research and development"
       }
      }
     },
     "localname": "InProcessResearchAndDevelopmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r27",
      "r130",
      "r136",
      "r146",
      "r239",
      "r244",
      "r250",
      "r253",
      "r461",
      "r505"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]",
        "terseLabel": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r287",
      "r292"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]",
        "terseLabel": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails",
      "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r292"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails",
      "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r193",
      "r206",
      "r207",
      "r237",
      "r401",
      "r404",
      "r405",
      "r467"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "terseLabel": "Provision for income taxes"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r43"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Income Taxes Paid, Net",
        "terseLabel": "Cash paid for income taxes, net"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount 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.",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "terseLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredRevenue": {
     "auth_ref": [
      "r501"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Deferred Revenue",
        "terseLabel": "Deferred revenues"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "auth_ref": [
      "r550",
      "r621"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation for operating lease.",
        "label": "Increase (Decrease) in Operating Lease Liability",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherDeferredLiability": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in deferred obligations classified as other.",
        "label": "Increase (Decrease) in Other Deferred Liability",
        "terseLabel": "Other liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherDeferredLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating assets classified as other.",
        "label": "Increase (Decrease) in Other Operating Assets",
        "negatedLabel": "Other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r211",
      "r212",
      "r213",
      "r218",
      "r367"
     ],
     "calculation": {
      "http://www.formfactor.com/role/NetIncomeperShareDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements",
        "terseLabel": "Add potentially dilutive securities (in shares)"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/NetIncomeperShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r286"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all or part of the information related to intangible assets.",
        "label": "Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Goodwill and Intangible Assets"
       }
      }
     },
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r61",
      "r64"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "terseLabel": "Intangibles, net"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "auth_ref": [
      "r138"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount of operating interest income (expense).",
        "label": "Interest Income (Expense), Net",
        "terseLabel": "Interest income (expense), net"
       }
      }
     },
     "localname": "InterestIncomeExpenseNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r187",
      "r189",
      "r190"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "terseLabel": "Cash paid for interest"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestRateSwapMember": {
     "auth_ref": [
      "r527"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period.",
        "label": "Interest Rate Swap [Member]",
        "terseLabel": "Interest rate swap derivative contracts"
       }
      }
     },
     "localname": "InterestRateSwapMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]",
        "terseLabel": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r268"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Inventory Disclosure [Text Block]",
        "terseLabel": "Inventories, net"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/Inventoriesnet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r59",
      "r497"
     ],
     "calculation": {
      "http://www.formfactor.com/role/InventoriesnetDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.",
        "label": "Inventory, Finished Goods, Net of Reserves",
        "terseLabel": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/InventoriesnetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r166",
      "r496",
      "r530"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.formfactor.com/role/InventoriesnetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "terseLabel": "Inventories, net",
        "totalLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.formfactor.com/role/InventoriesnetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "auth_ref": [
      "r59",
      "r499"
     ],
     "calculation": {
      "http://www.formfactor.com/role/InventoriesnetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.",
        "label": "Inventory, Raw Materials, Net of Reserves",
        "terseLabel": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterialsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/InventoriesnetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "auth_ref": [
      "r59",
      "r498"
     ],
     "calculation": {
      "http://www.formfactor.com/role/InventoriesnetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.",
        "label": "Inventory, Work in Process, Net of Reserves",
        "terseLabel": "Work-in-progress"
       }
      }
     },
     "localname": "InventoryWorkInProcessNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/InventoriesnetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWriteDown": {
     "auth_ref": [
      "r267"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.",
        "label": "Inventory Write-down",
        "terseLabel": "Provision for excess and obsolete inventories"
       }
      }
     },
     "localname": "InventoryWriteDown",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LandMember": {
     "auth_ref": [
      "r586"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Part of earth's surface not covered by water.",
        "label": "Land [Member]",
        "terseLabel": "Land"
       }
      }
     },
     "localname": "LandMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r445",
      "r529"
     ],
     "calculation": {
      "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "Lease, Cost",
        "totalLabel": "Total lease expense"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r622"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease, Cost [Table Text Block]",
        "terseLabel": "Schedule of Components of Lease Expense"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r70"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]",
        "terseLabel": "Leasehold improvements"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]",
        "terseLabel": "Leases [Abstract]"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Lessee, Lease, Description [Line Items]",
        "terseLabel": "Lessee, Lease, Description [Line Items]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "auth_ref": [
      "r438"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about lessee's leases.",
        "label": "Lessee, Lease, Description [Table]",
        "terseLabel": "Lessee, Lease, Description [Table]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r623"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of Future Minimum Payments Under Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r446"
     ],
     "calculation": {
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total minimum lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r446"
     ],
     "calculation": {
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r446"
     ],
     "calculation": {
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "terseLabel": "2027"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r446"
     ],
     "calculation": {
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": {
       "order": 6.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r446"
     ],
     "calculation": {
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "auth_ref": [
      "r623"
     ],
     "calculation": {
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year",
        "terseLabel": "Remainder of 2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r446"
     ],
     "calculation": {
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedTerseLabel": "Less: interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseRenewalTerm": {
     "auth_ref": [
      "r620"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessee, Operating Lease, Renewal Term",
        "terseLabel": "Operating lease, renewal term"
       }
      }
     },
     "localname": "LesseeOperatingLeaseRenewalTerm",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "auth_ref": [
      "r620"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessee, Operating Lease, Term of Contract",
        "terseLabel": "Operating lease, term of contract"
       }
      }
     },
     "localname": "LesseeOperatingLeaseTermOfContract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r447"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r16",
      "r192",
      "r264",
      "r308",
      "r309",
      "r311",
      "r312",
      "r313",
      "r315",
      "r317",
      "r319",
      "r320",
      "r408",
      "r409",
      "r410",
      "r426",
      "r504",
      "r581",
      "r624",
      "r625"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r9",
      "r133",
      "r143",
      "r530",
      "r554",
      "r564",
      "r618"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders\u2019 equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r18",
      "r152",
      "r192",
      "r264",
      "r308",
      "r309",
      "r311",
      "r312",
      "r313",
      "r315",
      "r317",
      "r319",
      "r320",
      "r408",
      "r409",
      "r410",
      "r426",
      "r530",
      "r581",
      "r624",
      "r625"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesFairValueDisclosure": {
     "auth_ref": [
      "r121"
     ],
     "calculation": {
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of financial and nonfinancial obligations.",
        "label": "Liabilities, Fair Value Disclosure",
        "negatedTotalLabel": "Total liabilities",
        "terseLabel": "Liabilities measured at fair value on non-recurring basis"
       }
      }
     },
     "localname": "LiabilitiesFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails",
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates an ownership position in, or purchase of, a security.",
        "label": "Long [Member]",
        "terseLabel": "Buy"
       }
      }
     },
     "localname": "LongMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r15"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-Term Debt, Current Maturities",
        "terseLabel": "Current portion of term loan, net of unamortized issuance costs"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "auth_ref": [
      "r160"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.",
        "label": "Long-Term Debt, Excluding Current Maturities",
        "terseLabel": "Term loan, less current portion, net of unamortized issuance costs"
       }
      }
     },
     "localname": "LongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MarketableSecurities": {
     "auth_ref": [
      "r135"
     ],
     "calculation": {
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsFairValueDisclosure",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in marketable security.",
        "label": "Marketable Securities",
        "terseLabel": "Marketable securities"
       }
      }
     },
     "localname": "MarketableSecurities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MarketableSecuritiesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in marketable security, classified as current.",
        "label": "Marketable Securities, Current",
        "terseLabel": "Marketable securities"
       }
      }
     },
     "localname": "MarketableSecuritiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MoneyMarketFundsMember": {
     "auth_ref": [
      "r587"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities.",
        "label": "Money Market Funds [Member]",
        "terseLabel": "Money market funds"
       }
      }
     },
     "localname": "MoneyMarketFundsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]",
        "terseLabel": "Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]"
       }
      }
     },
     "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/WarrantyDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r188"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by (used) in financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r188"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r37",
      "r38",
      "r41"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash provided by operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]",
        "terseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r28",
      "r41",
      "r137",
      "r145",
      "r150",
      "r173",
      "r176",
      "r180",
      "r192",
      "r198",
      "r200",
      "r201",
      "r202",
      "r203",
      "r206",
      "r207",
      "r215",
      "r239",
      "r244",
      "r250",
      "r253",
      "r264",
      "r308",
      "r309",
      "r311",
      "r312",
      "r313",
      "r315",
      "r317",
      "r319",
      "r320",
      "r416",
      "r426",
      "r505",
      "r581"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      },
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "terseLabel": "Net income",
        "totalLabel": "Net income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncash Investing and Financing Items [Abstract]",
        "terseLabel": "Non-cash investing and financing activities:"
       }
      }
     },
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NotesReceivableMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An amount representing an agreement for an unconditional promise by the maker to pay the Entity (holder) a definite sum of money at a future date(s) within one year of the balance sheet date. Such amount may include accrued interest receivable in accordance with the terms of the note. The note also may contain provisions including a discount or premium, payable on demand, secured, or unsecured, interest bearing or noninterest bearing, among myriad other features and characteristics.",
        "label": "Notes Receivable [Member]",
        "terseLabel": "Promissory note receivable"
       }
      }
     },
     "localname": "NotesReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NumberOfReportableSegments": {
     "auth_ref": [
      "r562"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of segments reported by the entity. A reportable segment is 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": "Number of Reportable Segments",
        "terseLabel": "Number of reportable segments"
       }
      }
     },
     "localname": "NumberOfReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationAdditionalInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Operating Expenses",
        "totalLabel": "Total operating expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses [Abstract]",
        "terseLabel": "Operating expenses:"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r239",
      "r244",
      "r250",
      "r253",
      "r505"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "totalLabel": "Operating income"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseExpense": {
     "auth_ref": [
      "r619"
     ],
     "calculation": {
      "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating lease expense. Excludes sublease income.",
        "label": "Operating Lease, Expense",
        "terseLabel": "Operating lease expense"
       }
      }
     },
     "localname": "OperatingLeaseExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r436"
     ],
     "calculation": {
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "totalLabel": "Present value of net minimum lease payments"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r436"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "negatedLabel": "Less: current portion",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r436"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      },
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Long-term operating lease liabilities",
        "verboseLabel": "Total long-term operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r437",
      "r441"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "terseLabel": "Operating cash outflows from operating leases"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r435"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease, right-of-use-assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "auth_ref": [
      "r551"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for right-of-use asset from operating lease.",
        "label": "Operating Lease, Right-of-Use Asset, Amortization Expense",
        "terseLabel": "Reduction in the carrying amount of right-of-use assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r444",
      "r529"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Operating lease, weighted average discount rate"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r443",
      "r529"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Operating lease, weighted average remaining lease term"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingSegmentsMember": {
     "auth_ref": [
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r253"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies 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.",
        "label": "Operating Segments [Member]",
        "terseLabel": "Operating segments"
       }
      }
     },
     "localname": "OperatingSegmentsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]",
        "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r0",
      "r45",
      "r52",
      "r107"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the organization, consolidation and basis of presentation of financial statements disclosure, and significant accounting policies of the reporting entity. May be provided in more than one note to the financial statements, as long as users are provided with an understanding of (1) the significant judgments and assumptions made by an enterprise in determining whether it must consolidate a VIE and/or disclose information about its involvement with a VIE, (2) the nature of restrictions on a consolidated VIE's assets reported by an enterprise in its statement of financial position, including the carrying amounts of such assets, (3) the nature of, and changes in, the risks associated with an enterprise's involvement with the VIE, and (4) how an enterprise's involvement with the VIE affects the enterprise's financial position, financial performance, and cash flows. Describes procedure if disclosures are provided in more than one note to the financial statements.",
        "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure and Significant Accounting Policies [Text Block]",
        "terseLabel": "Basis of Presentation and Significant Accounting Policies"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r17"
     ],
     "calculation": {
      "http://www.formfactor.com/role/AccruedLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other Accrued Liabilities, Current",
        "terseLabel": "Other accrued expenses"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/AccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r158"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other Assets, Noncurrent",
        "terseLabel": "Other assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax": {
     "auth_ref": [
      "r170",
      "r172"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.",
        "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax",
        "terseLabel": "Unrealized gains (losses) on derivative instruments"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r20"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 3.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "terseLabel": "Translation adjustments"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r26",
      "r89",
      "r174",
      "r177",
      "r181",
      "r428",
      "r433",
      "r434",
      "r458",
      "r464",
      "r545",
      "r546"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).",
        "label": "Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Other comprehensive income (loss)",
        "totalLabel": "Other comprehensive income (loss), net of tax:"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME",
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]",
        "terseLabel": "Other comprehensive income (loss), net of tax:"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": {
     "auth_ref": [
      "r171",
      "r172"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.",
        "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax",
        "terseLabel": "Unrealized gains (losses) on available-for-sale marketable securities"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r32"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income (Expense)",
        "terseLabel": "Other income, net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherOperatingActivitiesCashFlowStatement": {
     "auth_ref": [],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).",
        "label": "Other Operating Activities, Cash Flow Statement",
        "terseLabel": "Other adjustments to reconcile net income to net cash provided by operating activities"
       }
      }
     },
     "localname": "OtherOperatingActivitiesCashFlowStatement",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherRestructuringMember": {
     "auth_ref": [
      "r507",
      "r508",
      "r509",
      "r510"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restructuring and related activities classified as other.",
        "label": "Other Restructuring [Member]",
        "terseLabel": "Other Costs"
       }
      }
     },
     "localname": "OtherRestructuringMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payables and Accruals [Abstract]",
        "terseLabel": "Payables and Accruals [Abstract]"
       }
      }
     },
     "localname": "PayablesAndAccrualsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r35"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Payments for Repurchase of Common Stock",
        "negatedTerseLabel": "Purchase of common stock through stock repurchase program"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRestructuring": {
     "auth_ref": [
      "r291",
      "r549"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation.",
        "label": "Payments for Restructuring",
        "negatedTerseLabel": "Cash payments"
       }
      }
     },
     "localname": "PaymentsForRestructuring",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [
      "r186"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Payment, Tax Withholding, Share-Based Payment Arrangement",
        "negatedTerseLabel": "Tax withholdings related to net share settlements of equity awards"
       }
      }
     },
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireMarketableSecurities": {
     "auth_ref": [
      "r58"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for purchase of marketable security.",
        "label": "Payments to Acquire Marketable Securities",
        "negatedLabel": "Purchases of marketable securities"
       }
      }
     },
     "localname": "PaymentsToAcquireMarketableSecurities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r33"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Acquisition of property, plant and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]",
        "terseLabel": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]",
        "terseLabel": "Plan Name [Domain]"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PositionAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by position taken for a security.",
        "label": "Position [Axis]",
        "terseLabel": "Position [Axis]"
       }
      }
     },
     "localname": "PositionAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PositionDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates position taken for a security.",
        "label": "Position [Domain]",
        "terseLabel": "Position [Domain]"
       }
      }
     },
     "localname": "PositionDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r544"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": {
     "auth_ref": [
      "r34",
      "r96"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised.",
        "label": "Proceeds, Issuance of Shares, Share-Based Payment Arrangement, Including Option Exercised",
        "terseLabel": "Proceeds from issuances of common stock"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": {
     "auth_ref": [
      "r58",
      "r184",
      "r185"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale",
        "terseLabel": "Proceeds from maturities and sales of marketable securities"
       }
      }
     },
     "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantiesDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranties Disclosures [Abstract]",
        "terseLabel": "Product Warranties Disclosures [Abstract]"
       }
      }
     },
     "localname": "ProductWarrantiesDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyAccrual": {
     "auth_ref": [
      "r84",
      "r85",
      "r134"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.",
        "label": "Standard and Extended Product Warranty Accrual",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period"
       }
      }
     },
     "localname": "ProductWarrantyAccrual",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/WarrantyDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualClassifiedCurrent": {
     "auth_ref": [
      "r17",
      "r80",
      "r81"
     ],
     "calculation": {
      "http://www.formfactor.com/role/AccruedLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. 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 Warranty Accrual, Current",
        "terseLabel": "Accrued warranty"
       }
      }
     },
     "localname": "ProductWarrantyAccrualClassifiedCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/AccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r82"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.",
        "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments",
        "negatedTerseLabel": "Settlements"
       }
      }
     },
     "localname": "ProductWarrantyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/WarrantyDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualWarrantiesIssued": {
     "auth_ref": [
      "r83"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.",
        "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued",
        "terseLabel": "Accruals"
       }
      }
     },
     "localname": "ProductWarrantyAccrualWarrantiesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/WarrantyDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "auth_ref": [
      "r87"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.",
        "label": "Product Warranty Disclosure [Text Block]",
        "terseLabel": "Warranty"
       }
      }
     },
     "localname": "ProductWarrantyDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/Warranty"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r72"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]",
        "terseLabel": "Property, Plant and Equipment, Type [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesNarrativeDetails",
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r73",
      "r480",
      "r481",
      "r482"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "Property, Plant and Equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r70",
      "r154"
     ],
     "calculation": {
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": {
       "order": 1.0,
       "parentTag": "form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment, Gross",
        "terseLabel": "Sub-total"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment [Line Items]",
        "terseLabel": "Property, Plant and Equipment [Line Items]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails",
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r72",
      "r144",
      "r462",
      "r530"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment, Net",
        "terseLabel": "Property, plant and equipment, net of accumulated depreciation",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r72"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "terseLabel": "Schedule of Property, Plant and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r70"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Long-Lived Tangible Asset [Domain]",
        "terseLabel": "Property, Plant and Equipment, Type [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesNarrativeDetails",
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r36"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "Repayments of Long-Term Debt",
        "negatedLabel": "Principal repayments on term loans"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r100",
      "r147",
      "r632"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Research and Development Expense",
        "terseLabel": "Research and development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.",
        "label": "Research and Development Expense [Member]",
        "terseLabel": "Research and development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r42",
      "r44",
      "r153"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. 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.",
        "label": "Restricted Cash and Cash Equivalents, Current",
        "terseLabel": "Restricted cash"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": {
     "auth_ref": [
      "r42",
      "r44",
      "r477"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. 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.",
        "label": "Restricted Cash and Cash Equivalents, Noncurrent",
        "terseLabel": "Restricted cash"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashCurrent": {
     "auth_ref": [
      "r541",
      "r552"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash restricted as to withdrawal or usage, classified as current. 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.",
        "label": "Restricted Cash, Current",
        "terseLabel": "Restricted cash, current"
       }
      }
     },
     "localname": "RestrictedCashCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashNoncurrent": {
     "auth_ref": [
      "r477",
      "r542",
      "r552"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash restricted as to withdrawal or usage, classified as noncurrent. 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.",
        "label": "Restricted Cash, Noncurrent",
        "terseLabel": "Restricted cash, non-current"
       }
      }
     },
     "localname": "RestrictedCashNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r46"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.",
        "label": "Restricted Stock [Member]",
        "terseLabel": "Restricted stock units"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted Stock Units"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestructuringAndRelatedActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restructuring and Related Activities [Abstract]",
        "terseLabel": "Restructuring and Related Activities [Abstract]"
       }
      }
     },
     "localname": "RestructuringAndRelatedActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": {
     "auth_ref": [
      "r289",
      "r291",
      "r294",
      "r300",
      "r301"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled.",
        "label": "Restructuring and Related Activities Disclosure [Text Block]",
        "terseLabel": "Restructuring Charges"
       }
      }
     },
     "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringCharges"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of positions eliminated during the period as a percentage of total positions eliminated during the period in connection with the restructuring plan(s).",
        "label": "Restructuring and Related Cost, Number of Positions Eliminated, Period Percent",
        "terseLabel": "Percent of workforce eliminated"
       }
      }
     },
     "localname": "RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_RestructuringCharges": {
     "auth_ref": [
      "r40",
      "r295",
      "r297",
      "r577"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.",
        "label": "Restructuring Charges",
        "terseLabel": "Restructuring charges"
       }
      }
     },
     "localname": "RestructuringCharges",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails",
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails",
      "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestructuringCostAndReserveAxis": {
     "auth_ref": [
      "r290",
      "r291",
      "r297",
      "r298"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of restructuring cost.",
        "label": "Restructuring Type [Axis]",
        "terseLabel": "Restructuring Type [Axis]"
       }
      }
     },
     "localname": "RestructuringCostAndReserveAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails",
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RestructuringCostAndReserveLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Restructuring Cost and Reserve [Line Items]",
        "terseLabel": "Restructuring Cost and Reserve [Line Items]"
       }
      }
     },
     "localname": "RestructuringCostAndReserveLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails",
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails",
      "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RestructuringPlanAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by individual restructuring plan.",
        "label": "Restructuring Plan [Axis]",
        "terseLabel": "Restructuring Plan [Axis]"
       }
      }
     },
     "localname": "RestructuringPlanAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RestructuringPlanDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the individual restructuring plans.",
        "label": "Restructuring Plan [Domain]",
        "terseLabel": "Restructuring Plan [Domain]"
       }
      }
     },
     "localname": "RestructuringPlanDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestructuringReserve": {
     "auth_ref": [
      "r291",
      "r296"
     ],
     "calculation": {
      "http://www.formfactor.com/role/AccruedLiabilitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan.",
        "label": "Restructuring Reserve",
        "periodEndLabel": "Accrual at end of period",
        "periodStartLabel": "Accrual at beginning of period",
        "terseLabel": "Accrued restructuring charges"
       }
      }
     },
     "localname": "RestructuringReserve",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/AccruedLiabilitiesDetails",
      "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestructuringReserveRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Restructuring Reserve [Roll Forward]",
        "terseLabel": "Restructuring Reserve [Roll Forward]"
       }
      }
     },
     "localname": "RestructuringReserveRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RestructuringReserveSettledWithoutCash2": {
     "auth_ref": [
      "r291",
      "r298"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in the reserve for full or partial settlement through consideration other than cash.",
        "label": "Restructuring Reserve, Settled without Cash",
        "negatedTerseLabel": "Non-cash settlement"
       }
      }
     },
     "localname": "RestructuringReserveSettledWithoutCash2",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r6",
      "r90",
      "r142",
      "r472",
      "r474",
      "r530"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Accumulated deficit"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r148",
      "r195",
      "r196",
      "r197",
      "r199",
      "r205",
      "r207",
      "r265",
      "r396",
      "r397",
      "r398",
      "r402",
      "r403",
      "r414",
      "r469",
      "r471"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Accumulated Deficit"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]",
        "terseLabel": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r230",
      "r231",
      "r243",
      "r248",
      "r249",
      "r255",
      "r256",
      "r259",
      "r350",
      "r351",
      "r454"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.",
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "terseLabel": "Revenues"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails",
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerMember": {
     "auth_ref": [
      "r259",
      "r560"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation.",
        "label": "Revenue from Contract with Customer Benchmark [Member]",
        "terseLabel": "Revenue from Contract with Customer Benchmark"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r348",
      "r349",
      "r354",
      "r355"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue from Contract with Customer [Text Block]",
        "terseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/Revenue"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r346"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Performance obligations"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RevenueAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RevenueAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "terseLabel": "Revenue, remaining performance obligation, expected timing of satisfaction, period"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RevenueAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RevenueAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RevenueAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationPercentage": {
     "auth_ref": [
      "r584"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Percentage",
        "terseLabel": "Revenue, remaining performance obligation, percentage"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RevenueAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r442",
      "r529"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "terseLabel": "Operating lease, right-of-use assets obtained in exchange for lease obligations"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risks and Uncertainties [Abstract]",
        "terseLabel": "Risks and Uncertainties [Abstract]"
       }
      }
     },
     "localname": "RisksAndUncertaintiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r259",
      "r560"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue Benchmark [Member]",
        "terseLabel": "Revenue Benchmark"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accrued liabilities.",
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "terseLabel": "Schedule of Accrued Liabilities"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/AccruedLiabilitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r559"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Schedule of Calculation of Numerator and Denominator in Earnings Per Share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/NetIncomeperShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "auth_ref": [
      "r94",
      "r97"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]",
        "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "auth_ref": [
      "r94"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "terseLabel": "Schedule of Stock-based Compensation"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": {
     "auth_ref": [
      "r417",
      "r418"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).",
        "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]",
        "terseLabel": "Schedule of Fair Value Assets Measured on Recurring Basis"
       }
      }
     },
     "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r63",
      "r65",
      "r455"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "terseLabel": "Schedule of Finite Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r63",
      "r65"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of Intangible Assets"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock": {
     "auth_ref": [
      "r114"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the presentation of foreign exchange contracts on the statement of financial position, including the fair value amounts and location of such amounts.",
        "label": "Schedule of Foreign Exchange Contracts, Statement of Financial Position [Table Text Block]",
        "terseLabel": "Schedule of Foreign Currency Forward Contracts"
       }
      }
     },
     "localname": "ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "auth_ref": [
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r506"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.",
        "label": "Schedule of Goodwill [Table]",
        "terseLabel": "Schedule of Goodwill [Table]"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "auth_ref": [
      "r506",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.",
        "label": "Schedule of Goodwill [Table Text Block]",
        "terseLabel": "Schedule of Goodwill by Reportable Segments"
       }
      }
     },
     "localname": "ScheduleOfGoodwillTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r1",
      "r10",
      "r11",
      "r12"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "terseLabel": "Schedule of Inventory Components"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/InventoriesnetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r86"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "terseLabel": "Schedule of Reconciliation of Changes in Warranty Liability"
       }
      }
     },
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/WarrantyTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r72"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment [Table]",
        "terseLabel": "Schedule of Property, Plant and Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails",
      "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": {
     "auth_ref": [
      "r290",
      "r291",
      "r292",
      "r293",
      "r297",
      "r298",
      "r299"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Table presenting the description of the restructuring costs, such as the expected cost; the costs incurred during the period; the cumulative costs incurred as of the balance sheet date; the income statement caption within which the restructuring charges recognized for the period are included; and the amount of and periodic changes to an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost by type of restructuring.",
        "label": "Schedule of Restructuring and Related Costs [Table]",
        "terseLabel": "Schedule of Restructuring and Related Costs [Table]"
       }
      }
     },
     "localname": "ScheduleOfRestructuringAndRelatedCostsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails",
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails",
      "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": {
     "auth_ref": [
      "r75",
      "r76",
      "r77"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of assets.",
        "label": "Restructuring and Related Costs [Table Text Block]",
        "terseLabel": "Restructuring Costs by Reportable Segment"
       }
      }
     },
     "localname": "ScheduleOfRestructuringAndRelatedCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": {
     "auth_ref": [
      "r74",
      "r78"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period.",
        "label": "Schedule of Restructuring Reserve by Type of Cost [Table Text Block]",
        "terseLabel": "Schedule of Restructuring Accrual Activity"
       }
      }
     },
     "localname": "ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "auth_ref": [
      "r53",
      "r54",
      "r55",
      "r60"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r53",
      "r54",
      "r55",
      "r60"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "terseLabel": "Schedule of Operating Results by Segment"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r364",
      "r366",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock": {
     "auth_ref": [
      "r93"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of employee stock purchase plan activity.",
        "label": "Schedule of Share-Based Compensation, Employee Stock Purchase Plan, Activity [Table Text Block]",
        "terseLabel": "Schedule of ESPP Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "auth_ref": [
      "r92"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.",
        "label": "Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]",
        "terseLabel": "Schedule of Restricted Stock Unit Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock": {
     "auth_ref": [
      "r95"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of cost not yet recognized and weighted-average period over which cost is expected to be recognized for nonvested award under share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost [Table Text Block]",
        "terseLabel": "Schedule of Unrecognized Stock-based Compensation"
       }
      }
     },
     "localname": "ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [
      "r65"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.",
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]",
        "terseLabel": "Schedule of Estimated Amortization of Intangible Assets"
       }
      }
     },
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": {
     "auth_ref": [
      "r47",
      "r49",
      "r50",
      "r51",
      "r126",
      "r128"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]",
        "terseLabel": "Schedule of Customer Percentage of Revenue"
       }
      }
     },
     "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r227",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r253",
      "r259",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r293",
      "r299",
      "r506",
      "r634"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Segments [Domain]",
        "terseLabel": "Segments [Domain]"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails",
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails",
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails",
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails",
      "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]",
        "terseLabel": "Segment Reporting [Abstract]"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r227",
      "r228",
      "r229",
      "r239",
      "r242",
      "r247",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r258",
      "r259",
      "r260"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Operating Segments and Enterprise-Wide Information"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Segment Reporting Information [Line Items]",
        "terseLabel": "Segment Reporting Information [Line Items]"
       }
      }
     },
     "localname": "SegmentReportingInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r31"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.",
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling, general and administrative"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.",
        "label": "Selling, General and Administrative Expenses [Member]",
        "terseLabel": "Selling, general and administrative"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails",
      "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r384"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedLabel": "Awards canceled (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r384"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Awards canceled (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r382"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Awards granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r382"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Awards granted (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r379",
      "r380"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Ending balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "terseLabel": "Units"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r379",
      "r380"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Ending balance (in dollars per share)",
        "periodStartLabel": "Beginning balance (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]",
        "terseLabel": "Weighted Average Grant Date Fair Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r383"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Awards vested (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r383"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Awards vested (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r373"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "verboseLabel": "Weighted average per share purchase price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]",
        "terseLabel": "Award Type [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareRepurchaseProgramAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by share repurchase program.",
        "label": "Share Repurchase Program [Axis]",
        "terseLabel": "Share Repurchase Program [Axis]"
       }
      }
     },
     "localname": "ShareRepurchaseProgramAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareRepurchaseProgramDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the share repurchase program.",
        "label": "Share Repurchase Program [Domain]",
        "terseLabel": "Share Repurchase Program [Domain]"
       }
      }
     },
     "localname": "ShareRepurchaseProgramDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShortMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates the sale of a borrowed security or written option.",
        "label": "Short [Member]",
        "terseLabel": "Sell"
       }
      }
     },
     "localname": "ShortMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShortTermLeaseCost": {
     "auth_ref": [
      "r439",
      "r529"
     ],
     "calculation": {
      "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.",
        "label": "Short-Term Lease, Cost",
        "terseLabel": "Short-term lease expense"
       }
      }
     },
     "localname": "ShortTermLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r149",
      "r227",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r253",
      "r259",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r288",
      "r293",
      "r299",
      "r506",
      "r634"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]",
        "terseLabel": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails",
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails",
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails",
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails",
      "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r161",
      "r162",
      "r163",
      "r192",
      "r210",
      "r214",
      "r216",
      "r218",
      "r225",
      "r226",
      "r264",
      "r308",
      "r311",
      "r312",
      "r313",
      "r319",
      "r320",
      "r322",
      "r323",
      "r325",
      "r329",
      "r335",
      "r426",
      "r494",
      "r540",
      "r553",
      "r558"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by the different classes of stock of the entity.",
        "label": "Class of Stock [Axis]",
        "terseLabel": "Class of Stock [Axis]"
       }
      }
     },
     "localname": "StatementClassOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r19",
      "r89",
      "r148",
      "r178",
      "r179",
      "r180",
      "r195",
      "r196",
      "r197",
      "r199",
      "r205",
      "r207",
      "r224",
      "r265",
      "r336",
      "r396",
      "r397",
      "r398",
      "r402",
      "r403",
      "r414",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r434",
      "r448",
      "r469",
      "r470",
      "r471"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]",
        "terseLabel": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]",
        "terseLabel": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Comprehensive Income [Abstract]",
        "terseLabel": "Statement of Comprehensive Income [Abstract]"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]",
        "terseLabel": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r195",
      "r196",
      "r197",
      "r224",
      "r454"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": {
     "auth_ref": [
      "r3",
      "r4",
      "r89",
      "r90"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.",
        "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans",
        "terseLabel": "Shares issued (in shares)",
        "verboseLabel": "Issuance of common stock under the Employee Stock Purchase Plan (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": {
     "auth_ref": [
      "r3",
      "r4",
      "r89",
      "r90"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures",
        "terseLabel": "Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).",
        "label": "Shares Issued, Shares, Share-Based Payment Arrangement, before Forfeiture",
        "terseLabel": "Issuance of common stock pursuant to exercise of options (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensationGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": {
     "auth_ref": [
      "r3",
      "r4",
      "r89",
      "r90"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.",
        "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan",
        "terseLabel": "Issuance of common stock under the Employee Stock Purchase Plan"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": {
     "auth_ref": [
      "r89",
      "r90"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures",
        "terseLabel": "Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r19",
      "r89",
      "r90"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "terseLabel": "Issuance of common stock pursuant to exercise of options"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchaseProgramAuthorizedAmount1": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stock repurchase plan authorized.",
        "label": "Stock Repurchase Program, Authorized Amount",
        "terseLabel": "Stock repurchase program authorized amount"
       }
      }
     },
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount remaining of a stock repurchase plan authorized.",
        "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount",
        "terseLabel": "Amount remaining for future repurchases"
       }
      }
     },
     "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": {
     "auth_ref": [
      "r3",
      "r4",
      "r89",
      "r90"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased and retired during the period.",
        "label": "Stock Repurchased and Retired During Period, Shares",
        "terseLabel": "Purchase of common stock retired through repurchase program (in shares)"
       }
      }
     },
     "localname": "StockRepurchasedAndRetiredDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": {
     "auth_ref": [
      "r3",
      "r4",
      "r89",
      "r90"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).",
        "label": "Stock Repurchased and Retired During Period, Value",
        "negatedLabel": "Purchase and retirement of common stock through repurchase program",
        "terseLabel": "Purchase of common stock value retired through repurchase program"
       }
      }
     },
     "localname": "StockRepurchasedAndRetiredDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY",
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r4",
      "r7",
      "r8",
      "r57",
      "r530",
      "r554",
      "r564",
      "r618"
     ],
     "calculation": {
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "totalLabel": "Total stockholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "Stockholders\u2019 equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r91",
      "r191",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r336",
      "r413"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.",
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "terseLabel": "Stockholders\u2019 Equity and Stock-Based Compensation"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxesPayableCurrentAndNoncurrent": {
     "auth_ref": [
      "r2",
      "r132",
      "r141"
     ],
     "calculation": {
      "http://www.formfactor.com/role/AccruedLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Taxes Payable",
        "terseLabel": "Accrued income and other taxes"
       }
      }
     },
     "localname": "TaxesPayableCurrentAndNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/AccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "auth_ref": [
      "r519",
      "r585"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by timing of transfer of good or service to customer.",
        "label": "Timing of Transfer of Good or Service [Axis]",
        "terseLabel": "Timing of Transfer of Good or Service [Axis]"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "auth_ref": [
      "r519",
      "r585"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time.",
        "label": "Timing of Transfer of Good or Service [Domain]",
        "terseLabel": "Timing of Transfer of Good or Service [Domain]"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TradeNamesMember": {
     "auth_ref": [
      "r103"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.",
        "label": "Trade Names [Member]",
        "terseLabel": "Trade name"
       }
      }
     },
     "localname": "TradeNamesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransferredAtPointInTimeMember": {
     "auth_ref": [
      "r519"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred at point in time.",
        "label": "Transferred at Point in Time [Member]",
        "terseLabel": "Products transferred at a point in time"
       }
      }
     },
     "localname": "TransferredAtPointInTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransferredOverTimeMember": {
     "auth_ref": [
      "r519"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred over time.",
        "label": "Transferred over Time [Member]",
        "terseLabel": "Products and services transferred over time"
       }
      }
     },
     "localname": "TransferredOverTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TypeOfRestructuringDomain": {
     "auth_ref": [
      "r290",
      "r291",
      "r297",
      "r298"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the types of restructuring costs.",
        "label": "Type of Restructuring [Domain]",
        "terseLabel": "Type of Restructuring [Domain]"
       }
      }
     },
     "localname": "TypeOfRestructuringDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails",
      "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": {
     "auth_ref": [
      "r502",
      "r521",
      "r633"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Excludes US treasury securities and debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB).",
        "label": "US Government Agencies Debt Securities [Member]",
        "terseLabel": "U.S. agency securities"
       }
      }
     },
     "localname": "USGovernmentAgenciesDebtSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_USTreasuryBillSecuritiesMember": {
     "auth_ref": [
      "r633"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This category includes information about negotiable debt securities issued by the United States Department of the Treasury which generally have maturities of one year or less, are interest bearing, and are backed by the full faith and credit of the United States government.",
        "label": "US Treasury Bill Securities [Member]",
        "terseLabel": "U.S. treasuries"
       }
      }
     },
     "localname": "USTreasuryBillSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VariableLeaseCost": {
     "auth_ref": [
      "r440",
      "r529"
     ],
     "calculation": {
      "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.",
        "label": "Variable Lease, Cost",
        "terseLabel": "Variable lease expense"
       }
      }
     },
     "localname": "VariableLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r209",
      "r218"
     ],
     "calculation": {
      "http://www.formfactor.com/role/NetIncomeperShareDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Diluted (in shares)",
        "totalLabel": "Weighted-average shares used in computing diluted net income per share (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.formfactor.com/role/NetIncomeperShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]",
        "terseLabel": "Weighted-average number of shares used in per share calculations:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r208",
      "r218"
     ],
     "calculation": {
      "http://www.formfactor.com/role/NetIncomeperShareDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Weighted-average shares used in computing basic net income per share (in shares)",
        "verboseLabel": "Basic (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.formfactor.com/role/NetIncomeperShareDetails"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 9
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "https://asc.fasb.org/topic&trid=2122149",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=d3e5291-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "https://asc.fasb.org/topic&trid=2197479",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579240-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5580258-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41620-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41638-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41641-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41678-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "25",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=121577467&loc=d3e76258-113986",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13467-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13476-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.4)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.10)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "405",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=116652737&loc=d3e64164-112818",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a),20,24)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(15))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(16))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3151-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1707-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1757-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1500-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1278-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "https://asc.fasb.org/topic&trid=2144383",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8844-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8981-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "https://asc.fasb.org/topic&trid=2134510",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org/topic&trid=2126998",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13777-109266",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/subtopic&trid=2144471",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.3)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.P.4(b)(2))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(b)(1))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(b)(2))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(e))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "420",
   "URI": "https://asc.fasb.org/topic&trid=2175745",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496180-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130533-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130558-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130550-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org/topic&trid=49130388",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126962052&loc=d3e4991-113900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624181-113959",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=d3e90205-114008",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=SL126733271-114008",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(1)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=SL6742756-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13433-108611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/subtopic&trid=77888251",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org/topic&trid=2122369",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=120413173&loc=SL116631458-115580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=SL120174063-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r494": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(b)(1))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(b)(2))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org/topic&trid=2134479",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r534": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r535": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r536": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r537": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r538": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r539": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(2))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2626-109256",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8475-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8672-108599",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=109237686&loc=d3e17752-110868",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=d3e26853-111562",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org/topic&trid=2127136",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5580258-113959",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918638-209977",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126980459&loc=d3e62557-112803",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r634": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r635": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r636": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "https://asc.fasb.org/topic&trid=2155823",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.P.3)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.P.4)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(b)(2))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org/topic&trid=2144648",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907644&loc=d3e11281-110244",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12524-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(2))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(3))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(5)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "460",
   "URI": "https://asc.fasb.org/topic&trid=2155896",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=99376301&loc=SL5988623-112600",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "https://asc.fasb.org/topic&trid=2208762",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>82
<FILENAME>0001039399-23-000019-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001039399-23-000019-xbrl.zip
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
MDPP(.^^POTN]#J,A']<"N9O8/Z[%5HZ'G?[!H\'3O;5EQ+M!Z02FD&OH4:J
M(# ;(;WSD'40*SYRQ4@[^VV'CH8TJJ_=/Y!B>[@Y&-)VV1N,L3MKWXJ&7QMM
M\3IA2#I)# 3192^\2B0 C!#)BB8E#:Q@WTC8ST7;H]7>"Y7!)<?LQD83*%L)
MP1>,)C4ADO*W*#MW0#8"1]<PSA^F2<5V'FJ).F\Q=I=RG6842A1D:AY=!%\G
MNZ, @I)-A"!=62HLJQ66EQG+RN5:;32DI!T8I3P)*J2\ 5+H;)C#;.M*+S<?
MRW.9 8\1;:&L%.H /GI/7@!J':*J*^B;M*CM]^-1IT^CT>[T%I\B^L_A(-(C
M'.;3@PU9W6%9=YB"5++0 $J&C-J8:,"A1BW3<DAG]V3$YS1,-$ D1!"4F;X
M1>53JCL;J$ E.*/MYSZI;;:,OG<$7?KAI\]\F/Y]W!E-$CL_>>R+03P>]A=)
M\0K["7Y^JOR0 !.901A?H !XB$8%EW1,/@GZ8I5+P_'S76-\!9YO*9^,@6VT
M$-8D*)+E23B)CT'0V<4F@>>VBC#':!V0YF%? SP6P7DI$G@KA9'JMMN/1LI4
M^)QX-&K,FD!9\,KJ(+,ON68'2E@RF5XW;YN_0)UG5]];* XD#U*)WEC#EKN4
MG)*R7^1+W(! F]%O48*V&1([E9!C0163 :THUT)$2C2HF.G">)575\K4Z90D
MN1!C=  B8]UZ101(P3M39C4#&B^=&_0JKTXT-DD?B\ZF)'8)R/CJ7WI(/':D
M"<8T($R^8"-H_N%B870L9!#("4@F!J5R"%IJI0P$Q"63Z8VR@KD(5-:<]B (
M8MVGQPHL,?#_UF<F CKK!A5J6QCK=H5E] JI#%G&4#*0I5 4JI!+-):%I)I4
M.W0QK-O5B:;4 :/K:K-D 17X4DO<0V O6!4AS.*+YG&GWQG3T\Y;RAM][H:#
M3NS2P]&(QJ/?3Z;S9ET<?2JH=?Y8LV?6Z"UU!T>4]R@=]@?=P4'GF[DS"R.W
MHAU08F(26&[11T )E:H0J1#1+SYA;)+<KHY-!A9/JHM5---(ZU5D[RLG5%ZE
MH*-22S;>/I]$WJ'N9)IW=-@Y:LI0TTXX2F3 UV N9E0R1^^SH.1 !5RRH38_
MD5W=*$MUV6^(P;-RA!@+UD5C)!*A"9ET ^KV_I#(]H:8:0M[C;%B)LKH4[ E
MV0BFY+H='VF/10'(*!JP=]4BR^D*]Q@3KK"'E8B,@ZB):4<A<G6ZW3LM;G#S
MR1N5TT:?/:[$;'^'1H3#=/B0/=0I^6@0Q;?>J>)#B.QJ@3"&^0<&+Z1D?]D$
MV8!MK!HGO"L,#/LHV(!)JXM@LB$0#1I5T( -)&43$LX_"J06F#KSI)\.$GZ<
M6OZ8##@:UXVZN]>A&^<?IRHV9U/8M%$)8-AS ]*Y"%M,5.P/-*F0ZH*)<R[+
M04H*&, G% A@I?7"*"FL\ 0V*].$%/KO$N<N=;OL@#^A/@VQRPKU8>ZQ;AY-
MDG??TOK[([[M<HY< >SRD;*@<@;E*4C008J0V,%0]LMYYZ:/W,40]7P*(H=:
MK ZS%J39X?>>#:^+@*B+]U9,9X=JA4C3/OVPJ*)F[C,>'L_68/_9Q4\3N1[6
MQG]QPC4+E)F1^"2AX1L9]>**$KN*$RY%DT40D+P)*#Q(9Z!8#WE6^/A,H NM
MIILLT*M3QH 44LA9!2W!D8T^,"]661:32\S05(%6NL2JMGHLP[?TZ=Q2K7K\
M.XXHUT*A?(^)QKZJG-T5J"9!PT+HF)1K=!D86-Z5XF14$=&22K%!H)KK\H$5
MFB8V1R-!]-DIX0"=0B.M<,%FER@8IY<,3=>SF& %I0D?M26FNKC FPC6& Q8
MBE&!/8]DL(0&0*DN;GTTZ(\&W4Z>F*Z-BI;/8P7#HP%[%[0UZ*]P= TXPIP"
M&S8J*EK0;.=LW3A61*BYT\[-2G.)L, XNJQ Y4T+5+9%N'&!>O*D6!NP.8F@
M^:-)X*N <V8/Q\!M%NA<N5(ST:2TL81!^"A &Q8QVQ?IH\T*@BVY06A:7,9R
M.Q23JA/XAFQ*"FM%,#3&9O*^:*.T/]TOKA%0^J9_?GKB>N^H.S@AVJ6W-,1^
M^E9MBA6DOF]7!)<J V8XN020,OM3D0REY$. O+)U5POFT_)V>S3L=?J7"38U
M$E09'-L\1#U)[=,^.END5)XHN&@+KD!U91',C?Y;?J'!\&2C=X2=X<0:+R.D
ML.@HI#$^*@&!<M"LKU2Q"H55KM@5I*Y23TVV,3MW]C)BJLCH<I3)14H00D)2
M2J S$&+)6D&#T@SF&IE>L)25^>R?87RP.<ABF48)8[W1T8=DE$0FYB8O&9:N
MQ\M; >E.AXT;%LJZ, T'B3)D:QRZ$DU!D%HW*"%FI93FOFF$5PX82C)["&AB
MT62MT4* ,>3$DF'I5BBEN0 IU2*9  :REW5:(TH5DG5,N+,OL31I-X9+B?/B
MW/99<MXR1\CGL^E!=LE)=NV\U<R]1;1.D_86H](%LERAZYK0M?P%+)@U17!%
M$@%"-@93S&A3"MYF06KI,LE_!EJ-%+"V0DH0*&MQ09]JG2=3_Q6U^GY V2"*
MTRS=L=AE#J^*0!NOJ% ,=5\2411FE4$ (+OYJI3/Z]^OT-5(RS0?2BVU$HPN
M9YP%Y6.HS-IG4XJU(GRQD?VMAE8C!:RC\]%Z(1S6%1$E)FF2A Q!9155DW;4
MO<&538VV47-A0";%I$06KFX3EXOQ21D;C:CK89W N,+9<EFK.55VC%&&$#U#
M"V+!6$P DI316>'BTEFK!039K2#<4OE@JH,>0P!MI4\B EH*($RM%[_"V7(I
ML_GL+0Q%\;_HR B0DSRE%$1,24!VOC1)F:T4QVDN!T((2J;HM(>DIT4%=$09
MB9 =K263Z?(/TJA<U,&J$J("4A!(.8(0C;3>VM" TNW7EN+\ _*\GB)*$4W=
MCZ=N< I>2TPL&$M6&1W0E[0$(OKQ5>(+(R1KA0^^Q.H>%@QH!6@5@G,0A"P-
MJ 6X2(FPUR(BXX ]*<"2*8)Q"IUQJ:!PTNE0@!KDP2^2SIN_U^P3 J@"(6<
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
M(C0Y*S&0;T!P8P766T.6LJ3LO#$!R0 6%V01Q0BFU=IJ;U=DZ?N@LYPC9U'
M:A7#1YJHBTV0$\6 4A:(VD=  [#X8%WAXSKQ43 &5S#5U1I,"Y6O6V]&)[RP
MRGG;@(G"I:]QNV*,%^DU)TM2-DFVQ"!S"#X7!-!*%_9T1 ,\T!5N;R-Y=$@1
ME-2$DL#)Z"4Y'1-&PSHX8;-R!>=/'I=^$"T*;BDF7X@)05 )1(J1W1]7G$^H
M5 #= *=G!96;HI326)? R("A9B=&L)J*4CF3#T0KE^,J\;K M<6;0B6U<]Y'
M+(Q7 5A4]&0]>BKL+R>+#9@L7>'U-E'(C"7YH-";*$&20J&L<\D498HC;$"P
M?*$HY-(.GD7!JPE9>4K2>X/@?0[LN LEO :%0<L&A)A6$+EN$TRJ6$%:@3+
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
M '9[3=1\&+:&F-$!4!:@F&,SW'+2*I-+[#!!@]"UDO'72FA94,(P$;%0(!E
M4$%X)XT3K%I2:1 -::2)VGY+PV6E/ZP1A,.Z90S3'C(01+(6DC4EI!!$$X+W
MS;5.RPPL9P)XZYUF88/,(@CTBG\CJ>OVATU(>5R)]V_$&T@D(8Q*LH#4!HV0
M4KJ<I8D:71.6UZQLTH+R'<.:P@L7HA,!BF.?R4X",#:#(:#5#-(*6#\8ST/#
M_E(FJS)#"0Q&'945V67E'.C<(&"MQ/NE>+UD3]@;EB5[2D$H=$+:($J-UWIK
MFK!P=^[Y"V</?D)U/^6C0QXTW>E#T^"X/QZ>W-][L5Q4)B@=%&7/%%5 B1*=
M28%T4LYG!6;9$BFO/F'A%F)&HG66.4F6**#2$Q<E>\Q%%^E,=$U9CW,+)8=9
M)FL\*A<2.#!1L R]MY2=*5[)!G& 6VHDYE.7*&E1K+6"""!*%04)YV*LRR<*
MY&6;)EPV(S&?RF2R%$Q4=U+18%6,%356DB:??9%-6>UW"R6GDC.>1[DT.H&&
MZ DQ%"M<D3DJDY?'O#_?_?E0PR(NS9Q/S2&M75$F:6LS>&UB]EBSTJ0(=1MK
ML8+-0J_&G MF6+DPBS !G8W@47C! (G!R,@_Y' [,--(R5FC3"Q&E5P07#&8
M,6)4"I5WVOLF>!(+-MIOQ?K]$,GI*#,#)4!1A)(RJA1D,L$6ZU:P66@C,9_(
M-D/%2^$H)0F&5,12;%*0I0O&-*:2V'R-Q'Q6Z6?E*>6B7*A%176P$A,*FVQ6
MDLW^\ICW1UO+:23F$U_.UKMBC?'!03$F\A=+9KJ/AG2T@LU"&XGYE'+0,2HG
M<TF)P*6(BKW.8-F/0)4QWP[,-%)RD4B3P"2(#*B0F!T&)XMS07C2L0EY"0LV
MVF^%)^&%T5B4*BYG8+B@TA&#B2&H8@LMD2>QE$9B/JN1*!EAC;63[=U]#-$P
M6%QV)4<575.6UL_72,RG;%OQUH1@$F($"SF"TR&GFAW)GD18K:6_&MC\]\YR
M<0MKA$/ABTO&@\@%@S"0HI'L6)BLFC"5M? 3U\N&&9.%B9,:U2 @"Q70RF0%
ME.1S%+8)JN:62BYJ9U3V,F0IP"<?B@VJ)C@'TBK))G@2M]Q(S*E.CP@Y&PJ:
M+#@IHYCLO>:]\BX@-"%3Y38;B?EX$CZ)Y(J2F"(8$Z,T 9)4J'(LJ)NP NR6
M2LX5Z11I(P+[$138@Q#H74107I.)RT8)YV4D-O>7BUN@126C3(%A EE%KU)4
MZ)$]BT!.ZB6#S5R,Q+)A)@E+P(C05A&K&AOJTIH07"XNBN*;4$'KEDH.A,.D
M*&O*$K*O2R-<9 FIXF16"1M@WF^YD9@+MQ">?4[EO=2>(%+PMF0PRI:4G36Y
M":SP-AN)^?!1YJ!D'<;D SC%KD1)"E1VZ)AP^":L][^EDLLV6<MCVT("-A@F
ME&"E1TQD? T[+8]Y_^//FYF!O!7938:*DEHFYA8$)D0O!!9/@C(:'V&)5L_>
M%&R6/[L)"L3DM NJ&+!$T68#PA;KLW5%-:%0V<]CII&2"]F"T;$@"004PM=B
M44:"YM^S\4TH4;E@H_U69#>AR9ZRI>@0P<802%K)?Q,I\,XT8<7U@L%F^;.;
MHE0VFFRC=PHL^N!D\"D29!<,JB;46IZ_D9C/;)*!F*5ABT !3"E>*N+_4X@I
M&&>;4./V&Y*KA]>/AX.C;]7>:K2IF \WM#*;0M7Q%.!2\25A<85]4I^"#:L*
M3C<!VT8BQTA- $)G;3+P1[8;-<'2673&>;<$ 8SEEE]129?D"(QR4#>;4FBI
M.$O.6 ]E"4*'M\-LS"?K21 C@B@(9A\Y8005<B)AM"6I=1/8XLILS"GN[7(,
M+B2+ ?@?9-8:/0+&4-B"W":UTTCYQ22B .5)% \USY%L=M::G&5A837!VVC"
MY/;ND^5B&]F(NL:V),U4L<Y3)F,3TPV5^+\DF["8?V$-QK)B1E*,M5"035:"
M<!X#F5)<D"KJHFB)UE(LF^0BFI*!Q>:<!)=-4,&31(_1)":(RY84OX1&8DY5
MZ&4!ADVM&0E&B$A,*80O0F&1>NE@LVQ&8CX;4_AL-1:?:RFY5$(4PKM4<E("
M$J4E\">65G)2^[K)A+'.@G030<;@DXH!#.0FI+(LLI&8/'2'1N/MLG=(+P9\
MMV4,8[H2I?+:0@X9C,N8O-2.?$ZH4#=B.X&%M1FW!$+16"!O,!,X\,:%DAQ&
M:UG"OAC;!-]T)<CIDIEB!1JA;0 H.=<)3+11USWV3'*^ 5Q@95'FSDN<(\(:
MG?;9@4:#%*/VHB@OC52-VA=Z95'F5*A84M$LT6RP0- E&N-)UTVG8RB8; ,@
M= L%>:_S_OZ01H/C8:+1].LA,2NHC<^=MP]^XS].U_-6D;*9056W.?/>%_2&
MU8;QI6@/KRI!^'C-:'S29<'U.OWV(74.#L?W0=UUYFC\SW>=/#Z\+X7XWW<F
MIS[X;72$_0>_Q>$]OL'T\_0^7]X-AP=\PS@8CP>]^YYO-OME/#B:?*TOU<9N
MYZ!_/W$OTY ?,<;8I=,[Q,&07ZZ=!MTN'HWH_NF'?^;.Z*B+)_<[_2YKC?;D
MHG^>?UYM_%L:CBLB9@^9/&]Z>/9>(=SU1M=7&W,?CO/I@V=O?7?RUO?&^<MC
MP=\-XNN'Q5UY=NS>Y-[#TQ-F':R/QG<FU_%+U6[\UQU]Y[/WGKV)/!JW1H-N
M)[?^4TS^^>?L>.U']<7!(\RYTS^X+UIR\HB/;;@WZ:<+)'61(&J;3H]S$P?#
M^Z</* S'=L%>IWMR___6_29'K2UZU]H9]+#_?W\=87_4'C& R_3$4><#W9?
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
MQ_<\AIZG6"RB52JXF,_Y5)-\9/E=M/S.Y.@ZCS5+6?841]J!- '2! 6,Y89
M: P-MLBEH,]F'=F;\=R3PT/_U?<G,X&K; ,MZ-CPWG2^,Q*5CD1S:I$X;P)4
MA "&*064>0\DBU80Y-I8@B$3SA3=,X50%3* LA^CFE0BR_ +R/!=-J&8M-1Z
M"*RU!E!,(="*.N"M\) XAPA-]812_=,J'=I;+2?&G88OSPZ2K(*!LY@^+U=.
MUO.,3J6CT[RB)%0@Z+T"*NH70"DVP#!CHZV#C8*0ND#$VKIH,I1]%<LKRHOI
M\Y)%>:&B/!,M,1#+U!HR.*0BT3 $2(<#"-PY821C2!:B3%B5BA^7Z;:HQ]%B
M.YOX_1SOQ>IVWBXM0I+CN@M$JGEE3!2!$4(B4B$832)-&#"0B@1<A 2MC4G]
MMQ&6322>W5[NL6)2(Z?'ZHI^:<&5+/J+%?T9DH(B(&/A :&(I%JL 4B!>$0"
M@I50DA#'HNA3U>2\K%[6+W5*=3E.3]Y#76Y2.KI^-+HF,9=9'SG1HP(TYE:@
M.-=S6@2>S:DI(ARG3C(/I&01SR*$1:-+Q5\A4LI)2:%5"<^:D%2I=T5VH%24
MCV097KP,W^4D$7LQ\18#HH6(,DQUE&9I@,062F.Q8QH6,DSDLZ.LU?.<5)EU
M_% ?/A]<><4B\;<,I5QANE1 .IXE%8%+'M6(!LQ#":CS#&@6HLU$G%'42$Q,
M2OMH*EBEM/><]5%-3I%E^25E>::['14B.,P $]8!&K@%VB,+ M$V"&(@DZGY
M3%-4JI'U"G@T$M4&Q4F504[^J%KR1[9]%@%/7V:IAO*20"X,X )[0"'F0$7%
M PB4D6@@'XC116\L"I_MCLW^B\J*\X(30+(X+TB<9UK=42,X91((%PB@R%!@
MJ*7 &B*%%-QARZ(XBR:351+G57)E' ]U/S?2712O2.AR;?&\'\1)Z/<B[+Q/
MDWX-1QF$2@.ABXU;G&(GCL=^^YL%0KF,^),ZW@%** -*& >$"4A!@Y WR9\J
MFW'35<CFR?Z+:G&*)XARZ'SW#ESXX2!+\6.E^/R.%+LHQ)11"*#' E#F*%#,
M!.!MT-ISIH*6J9*KC$OX>X7$> 5<%],^=]E-\?+QD,WX_\YXM-%WQ1K<]J1F
M$V?![.+2Q)&(P:A9),!*1W:AB =2.P^H@-P:ASD/9&V=-26O4JW![+"H%KG(
M@OWJ@CT3*<'0>"DL<"8=1>/QE=9< ^Y)8#3@(#!-@LTJ)=BK=WXEGUNI""FY
M!5(9FLJ#ICDEUS7C'B/- '/( (J0 MI#!;#$,-! 3;24UM:18DTBR^K;F0^L
M+)/,+^# 2I;Y4F7^+AU!%AJ(#0-66@9H"#3:&5( 2;U6Q+( A4\RKYJ*/OM
M;5U.JI31Z*D.DIU;8[WF[.^/!_;+R: ;96%TU9K-_W?2&9_G#EGEZ>L%=<AR
MG=%95Y\G-/0__]J7NG+9!ERZ"]MUOE[=^_(6(%W_EA=UFUZIK/2@UQND+XU0
MT&S\S\^HU@<_W#_10U^*F;73?G>7<TV'4H#2!SW<'>Z/]=B[OW1WXF^^^I)N
MP4RW'D"W#L>MS1_I5KQ?U_][[_SHLSLSF/*C WM^M'72C6.!1^_36-_U#O%_
MXKRT.ZW3%CK$'[^WXON'%^]"O/_?1 C+!-& T&BF45ZTOA48".8%Y0@Z1L7/
M"?L]N^AIQ#WOHEKN(LND((1P$$@J3,&] (J8^$I)%[<7AUZAM77X!L+9MB$S
M?VB<Z6'C:UK?&]82D3:3YQ4BS_=I5B1?2Z_>"X&CA$"C%]"A!=2--B;CD\$P
MU0EXF!\C0^)#(-'^$A);>!L='1Q^/[S8OF@=;)RWM_[H[&Y](4=;+7:(/Y&C
MSSL7A[T6;O7>A?;&W\)&E1?5')!>.4!-!$.CG0::,*AL_!4R^-A-M0B5FC=5
MG3:5IW&]@P,"BE36FF,@F;2 $Q40%E&[PDC6,(,I0W!NEN"LLIWNM(:^W@&_
M-ZH"=;N3\6BL^PG]\[:LZK9LG1[^39T15*0&4TQ%TF<"!H9J QPDB"$OA1"X
M.AIT9S2:9*"K]HX*'@N4; DB2#1+?=2<AE$&HCV:6HHH[5186Q<B]0)JQGWP
M *"+0/)(9%N<OLU;L.);\*+UMP^&1G.6 YF*T-.@4P@+,N"T%I0KI#6BU6%P
M65?69%L%9RE2,NI*816@TG.@!#4@2$(-9=%N**H-\Z9"M,G4(RA<IP"5 N<&
M-[OA%RZ453]L459.T2V!+%R3.8_@L7(VDSN4.J!+[H&6R=A13$8D)@A@3S2/
M/[AD-E& "AVAR">AJIG\DX7SN<(YT^I/Q$E'E@*D4#I"('P43F4!19))K(,2
M)%1,.%<UFEV33D(;<=!IA^ANXTQW'.CT&U:?=<:ZFP]I+9B[W$S]ASCS._W-
MZ;S?0LV<,ED>FLXI)B-\7#^+2$13+@ UTJ;J$PYX'6E/\ I%+;>V'I&UB525
M6J?FPUG5Y#M9H%]8H._2(RFXQDQ;$" A( *P -I9#1!5Z9>(UQY%@::T*2O5
MRWRU>B%O6#OI3;HIG:@Q*(Z&VT'O;.A/?'_4^>H;W<%HQ2KF_N-%V,<H/F9\
M-8-:-\M1G"7=O+T8TR*<?\85:?OQ;CC0WS.$E05A[:TYQ\6-Y=+(@ "4/-IU
M#B*@):$)T;"B@2MCW=HZ;2(YVWWUG]GYL@0"_G0VD@6\@@)^EZ,DS":!8B"A
MCQS%V)""]@1XC[!6RE ?4'%L7,P>&W\5 5\Q?\@M<N)\Z-C.TXK?U=9N>E4N
MLN?'.H[(;>MA/T[;Z-9J;$T7(Z-3>>@TY^2XU ))9#W@4>5$^F%EQ"G!@)<8
M2AM$( @5W=\%FCTX_G!XRLZ0Z@IUZ?PC"_4+"_5,E5T?@3HN)R DQ8JDUD"E
M=AT$8<$=E$A2N[9.4!.RYQ@5%76(U*-*S>C>,\2Y:,UK!FENG^W>+M8C@U5Y
M8+4SI\*_$,YQPX$WS@%*,0$&1TN)(,8XM5P@E((RF#:)**L%2:Y=LTRB7U8X
M)XO^@D7_+D]1(5B5/)XVQ!^4"@@DY0AH93"%R@3&5!1]*)M8EM5)K/(E;.I'
M96X5W"NR8A].;7XU)Y>+-7W$MR3.BAM,3-=?+]CS0*]JT_D_KS@_RZ(,%E"\
M<*/OLFI8I&IHS;)"'J@4G%(@):2 :LJ!,H(!"[&RUG&%4*INUH1(-<4<*_9I
ML?WRY.F5O5L96#.P5I1E9V!]46"=X=S2(@^U!)9:#*A+92,A20VYI'!>!"&Q
M+H UL6Y<5B7KUP?6@I;_-M;Q2Z\.:14_2A4Z_BNAPW/JSUR-Y6H4MY[+^BB
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
M 1.*F31,H53U7S-(M)/TT76$[M$=?^GNQ-^K.C)C+E%SS 2'E-82,Z: ,5(
MBBD$"H=(F!4*!F,;-!')-PKQLPMA5!B1EE+2ETYOY%7*JU1]K5EZ];VL-5];
M:\[ZF3CG&%KD 4,$I60W#I12 ?C@D=8*!J)5]=3F+WQ)U6;C^<K5N;+6QV.>
MZ?0\FPS3.^/&>-#XZD?C5"0L7C.,+X<=F^I^73E'.^/1=;>'Z=^^=<8G)[[K
M$OBG!A"KU4FKTJ[1O>OU*R[;^*:'TT:&[P;#X#OC23'"["0M26G/ZZIEO28X
MZFP"0^I#[S60Q#G 2?"$&&(\96OK2#3)G#R@JC7?R>VU2K"B*KQ*5=;.2[^;
M'I,D58*3]&?94O?8?0_3)MG*>XS"F$V<YY YAR1 TA- I55 LJ@_G"?&(8YH
M0&9MG<C9(TVY#V-517OI%$5>I;Q*-5"3B^M<G-7D"]M5,\Y0;2PD4'M  V:
MJFA8&6,XT%2I$#<WAU!62$]F+VB^LA97KD#J9P'+P.AI;X/>F>^/BF;3JY73
MF6/ >95R'E[.PWNI/+P-=SH9C8M^,0>#F]*\J2KO3O^R'F\1M2B >?,6+N_Y
M_TXZH\[8[_OAUX[U4ZZ]Y^W@N%_<I:#=.?F@++Z].R=ESQE!/6$$$(?#9:$=
MQ2001J>&@%0HGLZX- 6:/=.W/."UE*"P="HFKU)>I>HKV-)3]K*"K9&"G75H
M(<N)"20 3+4&5&$+C!40$$.11L(X%V3U-.P*)$T5G1$*1\&OVJHOM^<]QT?R
M*N6DE-5*2EFZW;24J_0(UNDBZ116:TXXIB0HK8A'%*J L972/IYU%MIQ3D_Q
MU"6H7GW%:\$<]^>4FM,L<"$C<Y2&<T"Q84!#QD T+:AVA@MA(F*A)E%E5=K,
MDIWQ-Z]2):S^C+\OC;\SEKL(D@6A!4#.8D"M"2!"L@5664R50LP$43W\78%
M?]S_S['4:^N%S+[BO$HYM+]:H?VEVTUYE?(J59_/*\4AU<BXH#&EG)MH<Q/H
M#<7""A[LH_E\Y"PW!#X3]](*MQYL1,+>&E\Z3[ZWTO-__#NH:(+YH  *-%)W
MHCA0G'$0C.>*J71HEQ?4_?E-2K(05U:(2S?*LQ O4(@_W15B*SDTV@7 D$2
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
M4MILO%8&X69"N H)8;VEP/+  ,4N\CA. X",P!#7CW%EU]8EY4TN2%W,U\L
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
MJ)H'Y,<.<;=\LIF5+(*57-E-D!"GM8BLA*?#KY0![1D'$#MMK8K()E,%L*;
ML[7'LR=D&63\)7,ZLHR_*$.Y.I-FD/#&$R!5HBF<(J"XB2(?*($,>:)XT7Z>
MDHH<2RO5+2*JS4O:+U'+W@R&S@_!>'#V-LW+:-#MN$9ZM!IBVVOF@<3%2@6Q
M/UPNU1_GGT;>W8*UF[K9&=+*@[2/L[3%$!<HM='40H:D,_X(2$\]@-Y2CZQD
MF*0J1+A)2BO:\3 9JI&;945!H?303P:%5P*%F0,UV!'L @*!<9,*ZV-@5/R5
M1NX#F4%8I'*#E#;1G//W502%DEPT5:8_27(:H3OX-FJ$X:!7=&X<W6$^I=3;
MKP.*S=^#I9J[RS]CJ]0U:\/^=](9=0J5-PC)A(A*9WS>;)QU=:KSUW<-'Z\X
M2V& U0JWOFJQG0_ZO.AA=C H%FCH/UPNS(>T+!M]MWVU*)D1E,<(YA0@]E83
M;HP"W#@!J-8H99/'9=20,T(%5%I&,T$UQ9S6BOG4_#((=^ET/POW*PGW7;H/
M"45!4PN\5AY0+P50DFA@D9(.H;C<U!;-2SBL2/.2Y>] ^A,G<-6YU(?)T)[H
M5# Y,JF>'G[QXU0$HS'R=C+,<>)79E"MZP79OUZ/C*_EX>N<4H:<*J(QE8!S
ME)I#40442T%B%&TN+HRD,H6-1).@'!M>3KE>/'G*<KUPN;[+FY@3"J=>+$30
M$*596*"U-.#_9^]=F]I(LK71OU+!N_<;,R>43-XOW3N(H(WM39^6:-MR.^"+
M(Z\@+"2.)(SAUY^5)0D#$IB+  $9/8,%)96R,G,]^:P[34H3P8.NE2+*&ES.
MMB!=1G_P"^!-S]@&!>H/##Y,[+<@MA,IKJU/0Q#5!1.J9ZNU/BF?FBS2.UBC
MYMD2U?7HQX ,>NL;V^T.M]+Z=]OIYH5ZUQ]\L@67'P273^?45Q*641*C0[#4
M$G&7TQ,5%HA@QYV6VL@<2,P E^>4H2T) B]%]A?/N8KL+YWLS[BN =]=KNYJ
M >D19\DC$[S,2031!2Y(M*;NJF7,,B4'O;(<@K-8O:-A#+D__#QO]7VL1"\I
M)&<Y\@RN",[9G"Y<"<YY"(2;4]C)*NR#BQ&1G"'%E05VDRA!WE"KK%5,VMP+
ME#4$6T#UR.4(UEN@G>FU(L/#92<49'@B9)@IW>"HD01'%+3 B'/0@!P6&F$C
MF73:P>*DE35*&EC-UFY8,F18D.%GF4G0Y8B]U.G9GE]$Q-ZOYV+IH.P>$7LW
MU8=?_HR]*B_S!6MI9S@\ N$9FTA]_^"@G\?3]]]>EZMY62RCFY/EV$J?]NP@
M#C_WX*C8A#_T -ARG\[ZSW]8( IO^@>Y>:?-X\V!/T-X6_<HS_NGO'Y;A_E"
M80X+9 YSDI=YI(SI7"Q6"XXXI@(9'2@BC%@N,(V>AY4UT<!TMM?GTQ5]*E[J
M9V0P+9"PW) P4X#6.*=J-) Y*)!;CS10)&2DBC%JJYS+_3<;\OXU:)<TX7GI
M&= DSNXRY:E&>_"(NWN3WP;Q</K&PT%_=V /BK?XL:/OWO4''\^682N]J5>K
M!K-23FHA #8GL]EJ01-1'$F/'>).2.2T!6+C-9?8),5E6,9R4L4-O'R6S_M)
M=>$F]Q3MR]R$&6R,"@1Q 9H*3U@BT%8BTL)SXS&.TO"5-=-@9I:;+&.^PHLR
MS+3MC^JX,]K;ZW?SV(= 0+IV%$,UZE>].*J&F>=7PS@:=6,M1IF_Y.3*T4EE
MC^T@E/2 QR<H'\=KU.[#ZGWYN7@Y>F6N6E8P[%88]GE.O3C-C?72(TFYRZD
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
M$N4T-XTC4C7(4E7M?DT6VX^7Z_;6F76]NSER7X-!9U$4ZF*UPS?C62^ M#A
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
M3 R2<*.3=<+_*HKU=4'NG:-86P#+K=//9&OC+6[NK_.OS'.6A$N(2"(1AU5
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
ME:.ZB/>]C?A%6F\GK9?M]#1IBD5(2-C<(%PS"8<Q8XB!",NZ;)%,N=/(,FG
MO[#27]&BL[SS%;[S%21Q;/;0X:#OXW!8#>(PVH'?JVPO3*L6YDXC):/C(1/8
ML$K<8( WH;ACV;698E018Z,5PS=NK?5KI;2<=3<_Z^84X0L^2<&P1RR%B'CR
M#(AI[M9*":?,,&,M7UF#_;!$#NDBK,].6&^D=<YIK57$^D9B/>O%$<%Q*3 R
MH%@"@W42:8,58L$X1HD+F,@5$&$-VL;O1;2+:!>-\Q'%==:/HU*4&LY>1J5'
MG!B*G/$1214B\\[#,:S+*?RR137GSB9MC$N.<BR$\=0:C0DQ. I#PN+\.$58
M;R.L,ZX:+0TW!D244<<0=UXCEZS.B9#4"*:92T58B[ ^BJ.F4.:[BO6LC\9X
M'+7)N<V,9JNO2<A&RU%,0B<&6\3GR*?"F8ML%R_-4\CK3#:%TDQ)8U 4(@!I
MSCF0UA&05^>YL%(;*9;M'+YO+L5->B\]4/6Y2<]@!D\>^D>YUV#=Z?[*DE.O
MIS#=_6;FI<!F9(8X%@4AEG)EM158&!6LL4(S319H\B^1*@M"U3E%G(+Q.E@N
M<I(I1]R[@)PT$GD60L*.,";BRAJ<?0W"]&*KUMU+C)Y'!<^"H05#GQA#2_S?
MPZ/JC#M&D22Y$@)9D@A050>JI<Z.&:%C=(PSDUN=42P;4BRX^'%!U8*J!54?
M&E5+[83%(NBLAXP92V#!$+$)E'TG-3)<8.0"L5'3I#"C@*"\P?6]BXL6 "T
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
M5SH[]W%21FE,(U]9TZNS%J8*]F0WKS7,=#4$0!_8GA]G]\=)&"<:C/&K/A(
M[L=(G+?3;38,Z&O&FQ"H882K*)TV5E@:2!(AN<#+AGFL#4-:NU\EU5PJCI%A
M&#9,D!HYZQ3"0F >*);6JI4UO#H+KQ<W3,ZB@$\.+Y4R:XSYPFWVAT_1*E!!
MF56!PQ[1*B5%''76RDB]*_OCD?:'_]'Z\#5ARYUB'F$7/.(F"F2(2<@K!7]E
M(;IH5M;4=8"2=T!= C16?P^ L59O[" , 6-V#X#@-&YWVC ;N=-!4:RX!05%
M$(F5D4'Y:(1B97,\UN8@S0]?7=!>)Y=0K,OLVP#ZKU(8L0 ZI+*8&A(S>,Q:
MX.9MCD\GPU$\.+<Q\MESF\V!97+>,&:T<'#T"6ML2J"I<NZ\L,F4S?%PFZ.]
MC;?:F[253;_M70XG"R?.T9S-[ /.U15,1!84*N2<<2YJR;SB\S?'V#Q[:8>\
MZ0\.^Z . HG_$JO0KWK]41T:YT=97^WDDAE5MK'F6]ANE:GLH ,O:K)23:D+
MO#7OM2LH\>JSU@]N;_L@S]7V\2D>CL;%8R?6#W+!^C&[LL/SQ@\R[PWGK1]C
MHT6LM<<K;!09G,Z,'?&2O2(;(G)%[.P!@+_D-(\X&%G8QO#P1\E.OQA>30MH
M9Q;E^L"5KC@GZR^< Y,3T\B9563\L/ ,/[\?1C?( M#W^?5T)-U8L[7ZK_68
M)S#\.?>R"=6G$;RYOM&XN-?U[VM4[R.@8F]LUED?=NPJ_!Q;H8ZZHTE1\&',
M.F=O=WS?Z4"R>O[S]O4Z[EF8_,ZX"@X\4AP,^[U>[%87%)!\CUI1:9P]7&/\
MI/5MA[&;L6&JO QA0&?HT#V!TV58'=K!N:&-9V[Z[4>]D,?W+?:J,2S5WV=#
MWOJ5MX>P<J.3>M6FSW$X3KB'&Z;:+I4?9:_C]WZN39U7;#-@P61E8T_&MY_/
M K\/T\G/=_4="-O4 /:LD>D>EHNYLKH8TX4-WO"L,5,G.0.%0Z9,7QP'%1KX
M[5C3(-@4OO"09/(D$TK@"R9QK)7E2'E00KDW!AGJ-(H VO!"V&!,KL:T.EN+
M:<HF[Z!MZJ@CS2%4BCG.X*7P7.<]$8+%6O"R!QZ0,ZZ+K?;G'\ULB3CU;&O]
MJS:26.4<"H%:Q!T#A<*DB(+G5 6K<+!A9<VLSN:CW%#;O+5.H2D3,EJ#M<.<
M"688*!-$.QDH-S*%LC\>:W_PUH>OU@6BD@TH)A$0-\HBS51 E"AA',OM-#40
MV]79"MDW5CB/XR#6)JQ!9SCN9G*;[4(3Y5Q$Z3VU7&!LA9"Y)T]B@C+M5=DN
MCW6DG+;6OR;.,1PF&GEI).*! IS$&!$)(8#ZJ0PFH(*2ZXR;L/XW,X;?9I=$
MY;.5 G:(\IS[8 5Q443OM3$\E$/G\78)V_KP56%CK8LXEUTCB', %8M-1#JI
MS N$B3RG05X'*IW>3]8^=HCG6D(S+/^6MDZNX.RQEFEB@:9JIV0B)#<D,\K)
M9,LN>:1=LGL"6"*84S8%C*C)U"3YD-O#"10Y((R4-MI<K-Q<9PCOY/]]AY.F
M/SC))@;;&>1S9WBNA/;/ZY?@Y;:\Q2;F,!%".XJYB<$P@!J:)+584I5DV3R/
MM7E$<_=K2E1;Q3VP68F!UUJ&#.B:B%BGI0%2PX/_A:$<#J(Z$N><(?/G%LI7
M:\S9ZW>G(3>QWEN-J8WII(H_.I.]ECH_<HA0;E!\<9_-L:W>QJ0Z3U=?D$GU
ML1H77A.R,WS5T8['7S7&0&*-1D8$@3CF%!D2 R+$PKD4* 7U[%GT+ZP;<,\O
MPW/1#%M[";+ 7&F'.C/M=<;!<F_ZO9"3]4-^-36_3HRD8ZP'2=T<-TZH-0T[
MG'1*'+Z2/HD,+LK%MQXTJUKR!VB3R/3=[GK]6(6Z6Z?(IQCK<YK7YS36Y[0'
MA+[9>.[=U?-<CN"%;)N+^337U7)9OCZ7[;U!C%43WK<WK-["^7"QDNQ]YXR(
MRW,VFX#TO"9LVB2UNF&#U%\_]BN:O*8=^+V*RG%.P$)WVFUF_%G,U3D'P<-N
MLQ<W<Q/3>9FUVYT$6?%8;,?G%S(S11*+)#ZM)-[P<'P&U2&RK2J;&0;Q>^P=
MS=8-O-5*/N]Z&#=[Q)=2TB(1IX(C7KGHN3'>YM 9JP0W+@5&^5Q#Z(U+LI[9
M_)>C<L5=K:"3RA6AL[/Q@3?SO38V3[?;\/?]O<Y.>YLVO[SE6^T/8@?NM=/>
M^S93N8+^^:VUL7N2Q]W<;^VUWK_K;+W_L]O:W_X!XQ2MC>ZWUOY.=^O]QXM=
MGO;AWNW-KTE(IGCP*%@O$=>,(QL21IYJ9W7$S%.YLJ;P+:M6W!27%UC&YU?5
M>@K / > ^=<M$,8(;60P)$G/.192"^:T\8(2J[T2X08(,X3GA5<%:A8/-:>7
MH8;XR&C$%K#%F1S9$)#S*B*O8Y3*84$H6UGCLU['?Q>4*2CS5#1&:8>=2T2R
MA#DUV%IA!4U6<&DB(;30F"? %C)#8S2++.7P$9AZQ"6-R%*ED#4^*":\9KF<
M(;UM\:T", 5@'AI@N(DVQ<"2BR+7X31!"F55<B)93M@XB1B ALJZS MF0,@+
MP#PPP+#+ $,=Q<%YCKR0-G?#Q: G,8HBL$W%>1*N[BUSV]84!6 *P#PTP$BJ
MJ>* +R1H;JQPB44I!<.8"Q$5+@#S!  C+@.,Q:"X"D 482E%7#"&-"P2<L$1
M%^"J<F1E#1:_(,SR2&%!F+&I5X8@$G$X)L.%Y)9'%A*6<"K2P*4J"/,4IM[F
MM$5>KH2Q__;DJU%!><,( K:I<^VZ7/["!<2"#LE$S$.0N7;=4I&8E^,)RUWD
MZG"8',,;<I'*_F&.PKU!)ZT7W6;'&T=SGB(/FN1D=T>H\5)1@D,NYX.+A>6Q
MT>-"2^X)/P$RHHFW#!&=&T; >B$7 3R<B8PY1ARSP$_X[:#C\3G(:Q,N#9"O
MB-!.2\:-PTXJ%IF6UE&6>"!%N)Y N&9<(Q1SS6")D G1YKJ'%KFD'%)6,1L<
M#EZQE35YR\:U1;H>6KJ<2(ZK1&($SAN$L!Y4->F]T3+@2%.1KB>0KAGG &-)
MYLJB2&F7<NTWBFR2!F$KN2 A!6;$[6,<BG0]M'0QB0GAV!(G M?>.04D$?[#
M3CEN+%F06GD^:[C.146G<= O4G<[J9NQF#/)O 4D1 0GBKCB,7-%AV@$F#0>
M**-29UU$BN@ME^@!V:<Q16> /7)8/QMHX)ASP$U/TZ1X:;'H/*Z(S=B,'=6*
MA;HB51*(DZ"1%AA4M*!%"(EIYW*1,EYXXY*)ER>,YC(!2BC)J78F6SYT$ F(
M"C9$%_%Z"I/'C,&4 ['WSICL]&5PA&F/G*8,44Y59"X)'/$3R=?+,8M^BEWX
MXVZCVHV].+#=VCQJPT&GUX$];7.)V]=N(64.-!>I,58V=S))SA/A"0_<T$ =
M]0M2,Y]!A\CG@26?9LVG4@LB,@=6AH,.J@%*=$H!88.I8<(GGQQ 20/+HH8N
MF?0)[SS% :L(!#@DH3T5T@F</9X*6U>,/$\@8#,F5&&U#)$$%$@N:I4K UD1
M,<+"*\8=-\Z*E35)BW0MEW0E;ZSAVEML.9<$3CE!":"@CEP&*A9E0BUGV\)$
M;\:^JCTA! 0,&<H(XEC!*R\T8AQ32:+"SF<UM$%HD;XEDSXLG"/&. TG&G?)
M@DYC>"0Q6"5A'8LB^A0"-F-*U2D&H[5"1@D%9QNF2#,OD<%,VH2CCQ0$;+9N
M<!&N)Q4N0K41V1WHC.%,$NVQXU9&P['0DI3 VZ<0KADC*E7)VP 'EU ^E]*U
M DXO!A(F7&!*<A\5O7WJ4)&N!S^Z0(D.D4I.0^!41T. ]!-L/.>.2NF+=#V%
MW6/&AHIS2_; //(Q)<1-T@C8!H.C#-.DI-,VYB8)L^7,E\6$>GT4^Z0B((,Q
MA/Y1KGHZE9$KPV)?8J3[(J;AI0"3S!U9$@LB 13I*'0,W&CN.:-$&"&*1KM<
MJ-69M=9RPV4202+A2&Y<[1-R@@(QB%XDYC&-C-8:+;MEP.OBQ.4I4G8*V!6P
MFS$@,)>B@$->8>Z%,Y0&8QAAE INK"W&\2? LQGC>$S4.YP((BZ3,)5RIRJ!
M48Q1)DN9<%BNK.E;6A *F!4P>U%@=J?>'86Y/2'2S?@BLC5',JL12QHCCIT
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
MP^M37]"]/PZG@VH_NXE:IW*=N*=3X_S,(%O6548<SDK\ACR>T'=FP>;:*/R
MA);:;/)9\PP+L3^*TX,Z"PDB3Y>CD==2V9 :(3_[<#CI[>&'ZC<<SZQ&R:-.
M%EP*M!-%D'J$^'.JH'8FT0@9CBY!,G5[OYL$].W.2,TMV4;OA/3H@Y,IE69)
ME:]>A'DX&ZGC2E^SBTY*V,VN.ZEC]X!'K^JXB*/1<>VY,R%:-TMN])['.)Q6
MI-" Y'Z'RPTB^\E&KPNG]6,EXMA=^A^B?J1ID/^JI4/S3+7.N+V.)9'A?!Z<
MN^L1'L]N6:]]7JMHYPM*]^AH-/RK?U!MR;DYDNC_9[Q ?QKOD<4A>$_F4N-I
M[^$.UM:P%^>5R+OZX0>8NIZHW'?&D),<]P[[_ZLC>0X1I3\BTOH,%S3.I5]#
MH!T:+DSR*\6V;MNS\[<#^=36TN/D&_7KO7\8U1*JI!#.*H[_G\_]NGD$D)]]
M!<-X.)A.OOR5A7JA=S2(0E[HZ'/_[HW.I,:[S ))\O?D(%-C?\#!1SP>/_G'
M9^]$'B"[T(<77__+X_"5L,LWPR@7PRZAGO\4P($C).U=PF2(016]LN9./5EM
MW+*[XP_]"8UNO$(D\_F97_WO<VRS><XBG8N#=1;IMU.+]%.U2 N1JQ5&E'Z/
M>SE-!_E-.8TMS5[@^6$ZU_R3UK\Y/&UKU]3M2K&/.>JT^?Q/ZR$IY3,S4@(#
M:0+#I)&EZ+2*64LCW;V((CV_/")T'2W5&8ZSN$OO;_VJ:8=3:E8:__V'"^LR
M5S*%W9K(&3-WBS#4(P,\&N<?3G[X\62=N'_8O5?WI1])EK\C#IO3>>6O"VLP
MW0-G'Y]1VU,^H[?YOO[YD^<?/^7_9W$9>O89Z*?*BR]^S)_>]#,GU8V^^;7&
M"O%42=,:>X\:J]67'WJ;QBIYI=M^XZS+0SG2\I57N\(&G'M51G[N[3[Z'EBH
M)/_H>N QHV![2,K^L_>_Z:F^+^X0N623R'KPX^4;J&8Z\(<KS(EE[%F\77?>
MY@&MD?>[D4M*'M;MU[*S^,8:H[++JY__-^V3^U7WR=P,G]?/G]#N\1#NL:23
MZK,MT?*I7'.P; X/\_')LERAU_IR)8H5'EIZ^+O)'^2N\)*!!U=<<A"!)X\>
ME,]2<XLE1%NNNBN\,O;SPU3_\_*,MR_9>WH_4NW>,+PZWT>^(S8/?N4[VS_U
M-W_YXZ_=%[_RK7K?[0A;^Z_UUOZ.VGWQZF#KX+>#B_O(=_?_.-Y]\=O>YB^O
M/^YNOWJ_]8*>\^F=V/KT3F[NOY=;^^G]YML=N?O+;DVU>WSQ>!&Z)&*"S(H6
MFD%4@@5A%<L%E##!RB#AR3. #6MO72IH_;*&-XYZD!R%P1K.BU!!"2A"H'4N
M&&.-,#9H%5?,46MX^O&>T!-?J&60B(&RCRPKYQEHZM<0HV4E9YNSU\;:Y:5(
M;?S4^.D['<1V/%OO4LF.;I:#!\%]X"JC+1%DXZ<UY2=YD9^XL\:2&&;*1,D
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
M$K,UN:Z]!UU6S%$/;2'^^]$3OTA/0J)03AL&7%D&R.M!KZ28P,"S5_6 NWO
MI1P:/SU(?E+&&%!)U<2+D))!E7.4(L80DC#)-'Y:4WZ2%_DI"Q]"Y)SE5#SQ
M$W#F@W2,F^AT1+!<0..GQD]K\&K7.8<:4"GO!"]104DI<(O<R**U$ES$5?-3
M\_%N15)PD:1(^_ID;& V09RG^(5$<JJJ8X?! 8@U]/&6&<&^!U&YGX<'!WD4
M^SCH'>%1'JTT@OW8:X&K&!-F&PI/ 7(]:2]%"3XZM$45B$V!K2.Y;?47 UA9
M%VV]%@R<#.0FFL!\3(8)+13J8I,W]@&G FF(GB-:QR2B"U9))6D6<,>+THBF
MUH\3(N6F6=89U@N!G^1TMM)E)K(G;!NI64@^,6^$U5 TM\8_>08;WMQ:LC10
MKRVH!434-0(H @?!@U/1@DJ$;I-MBJZ9Z37%\T*@!'4B:46>1Q)%U6@N9T%E
MS[A6/F0A$=)#SE3:$'T26@"',8HH-$BPVM"XY\01BXGH=>3-3*\SK!=""S;E
MX- 51K99$ZS!,^0H&$8?;5)*QXCK9Z9;;JP[O_*1;;GZX^GO3WOX+A_&X]XX
MQ^EH9<FRKF1I'D/U]YP<>*6"CB9#,"FXZ.DF06OD.BK9M.-:&IF?%T,\ CV9
M&41&MB8S0%$8VBR8\NB==2EXN_3#^&NTR-80?:(=LS7&21\$<I"1!^]-UB99
M9[SFL(JMAPVYUT'N8A2'I\)SL2QZ6U>>3&3>YLRD<*AI(%/2]LDS&L:&V@>+
MVJ!B+IYCE!F "R)R#0()IT9D*>RJ/;YFAV^*YH48CG6<DY2RK  Z!LEGYK)
M!M8#:2Q;E!;-#C]\1"?O<D5LU%A 6QU(9 LT9(QM--)AL\-WC-S%'2 T+ 5C
M9+';1IN+8B&3@G;$QBYQ2VY263<[?-OM'RL]:7:%,.XM4EG=9W+P4:*+LJ@$
M"4K0+BH2 #ID+SUPM^J=%2W >POFN.1\$.10D*8S,ZG4==@2F1-2TD] BLZ*
M!,8M:^_8M8!SCQ9T'BD3D$A (T7HEGJ4<S6]ND3D7!:M(OK&!.O,! N^? B0
M1"%?/M,8,@C>,E^X9$5XR,(7= Z>/-,;WNA&!(T(SI=SE":0MR^T+Q)D,HY+
ME35WMB9T3":T",":<L!"! !,]%9K9)R3]P ^(?,.-4L^%ADA173+.^[26.!!
ML0 6YR-XXY/5X C\D1Q/5[1+H 2N?,MUDP.WHH*%D(*6,41KD,4D%%&!M Q3
M2<S5&HPRVN0B)\? ;DB >\$$R]R1L/X)DS:[["^S++.G^Q'N/*M9N\<]NL<C
M.Y_5;>&9C#*2;;GIWIVV2_2*Y3.BPV1X4H64@2#W(:@DO!79H4F>7WF%X8SE
M?C\EN28+EG;6=/OY8GTV+R*"0<4\1F T$Q(+11E6G).60TXEUH1">H.+==H2
MVA"\Y#5"98!KGK.P!7SP&'S26:>B@T*!8GD(;N[]C<&[4"RL1O$XELALL;GN
MURG,!>^85SKYP,%#UNV4QL-'+\T!",)EXG%1S^J$)".*!"XF0%T:>M<"O0NF
MEV.RW1X[SSD#:05SRGE6-"1OH'B=4T/O(T"O!:-4"C& !5D".A\BE]$7G9QQ
M5TY_U]3SJB&\4$J)(.JDBX;98!2#("USG-.OF6/F)H$N?@W5\R,[S?-S;4JA
MQDSHEL-"(#H:CON3=IQGE4?!4Z'I;Y+"HD!K'TJ)5M1BPS;37U23)'?.9YN+
MT8"2 9RI:P,V(0/E%'-6*Z; 96>=P^*6)TG:EN&U16\&%Z"$PFW-?!D$H3<A
MQ,25TX*4ZNW0VU!Z+90NN/U<"A"IKN493R@E3#*?8V%:"E><\:YP?/+,\G7:
M'MP0NN2<V3X:)[*P@J>Z/.\]W3(65[(1/*LKYWQL]G65R+UH7T&'Q)/)3%FM
M:_Y98 Y#9(9G$ H%CUXV^_KPT9L(L4(YR"8[D*2..;UU$2I)D"K:U.SK=T3I
M@E<O0PZ9")85Q2,#KR)S,0I68I:V&.0EQ'6SKX]Q=7\Y"3I:F/+[)NAHBF-E
M7/9RT:-W&$4,R3*%U*< H!D-EV;:Q!0"2HRPO&0<;9%A;=&[K&0<;9%AU1!>
M</>5=B6A]TQ*-(RHU[%0Z"=>/#A9A%;*/7DFQ 8-8T/P@T7PLA)S-/N[2O!>
MM+_2%._ <99<L RB5,SIHIC4%GF('KPMS?X^?/0N*PE'L[^KAO!".( 7D(5G
MSU+"S,!SRWQRAD6>(97B J)?0_O[V!;YAZ.CX0@GN1>&*RJ1W,*7<S*SH*7T
M7ALC(AB"@%8D2[DHI%'0V"L7;VA29$4\]N;WQ=0@O& N$"0K (F1='3,0Q#,
M"Z>U$,EKM;S**VWM86W!ZU"K9'SA@AO@-B%A.+HJ3R-7,BQQY; ID5LA>"&E
MATI!H.:.&2\\ RL4P\0Y*]GQH#1*T/#DF;$;:JTR@S4 +WEK7<3BHE'6. /)
M%Y2&*ZZ!9P56ZV9]UP"["ZDXB%AS1A594L4RLL!D?9'<B91S=,(7(4.SOH\
MO#$482T:HVJ>+0Z![&Y)MD12T30AKIQ6HUG?%2-X(8.&PZP4H">;6Y/I*$PD
MG3WIYXRR>&FLC&(-K>\CVQC0RK)^3R7BC$@"BU)*@K7<@T[&:E3>!DCZEMN8
MFA)90CSS]25'_JWFBG0&$P%)BH2H&=&79)BE (?&^[J>V)8D'CIZHZ2)P#4*
MRP%TX('N4+C*U@CTV=URDW^3(LN#\"4G !Q/ELM:J,,P*)H@K C1!7)2-H)6
MHF;S@@T'O"'XP2(XB9RLT]ICUH#%>E%XT9Q\3664,RT2L!;@O6A_(UBMH#AF
ME4L,<A ,74G,F")E5#QEW\[]/P+T&LF5%SJH8FHNUAP\"E$@*!< -4"SO^L"
MX84M :INA08)3)H46$UYQD@U9Z9Y$:2C7+$QKZ']O>V6@)7F-;Q"9/"1IN)=
M5HV.1A2K)8I?%WWM#-X+KI!AW;8+QAD6-"IRO0T7F*P(*B\K0<BU0'*/U@,>
M*>J758^CH7[5J%_,RR><CL%XYG+-RP<HF"^VXM\:!X*G9/239\0+&][9!OL&
M^Q54WV@^_2H1OQ!3-S0VT1L692"'P)+%]Y)[1I)-!%=T]L8O>WF_(?YA('Y9
ME3::H5\U[!?B "8;Y83SS-J,#+)P+$B>F<\ER. S6"[(T$N_P9>6+6#-RFI\
M)3RQ_F4U7@U'].MA+_\5]_#P729\C?H?<-+_D#N,UI%J605627X%@[>UUBUZ
M#4E+9Z-)P7+'C;3.7#GYZ8O3@7L^'N=)DSK+X;P_%D,:VB@I+'6G=+(P"(4S
MK#\9ESE$(S/GRY,Z;?EB;9%KK"CDK$1AG0:1O'>I(("2JGC0_,JR91&Y#:'7
M0NA"^ &DX0EU8%G6_(!&&19B 1:@E 2D++DH3YX9LZQ"7PV=ZX=.BSF %"JC
M(!5*/JC(5H6(09.MC7CE\\;-KJX*M0NY 2UPFJN.E=CE!B2' B%X)A7/8.A'
MY9M=?03(S2&ZDDGZ>AF!QQ"T1UNLBRBE!W7E33W-KMX2H0O>/D2?+#K-(H]D
M5YWWS*'2K)Y_M@%4\ +6S:X^KC*9_QD-#_KC\7!TW#L<3G)OE&,F$(1!;OD
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
M)!=:8>9=M6-MUJC:<</P<N5<P_ ]PO""G.-2I.A\8#5)+X- 3JL#\,SJ(C5
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
MR26Q/!'?@&7UP BK]4U8"-I'YXPKP71)FL1B2KZ%4G?MD/\]A/-W$A0-SBN
M\X*00#0@@\J,!VNJD.#,60_,""ZCEMEAZG*N25@4$G<"YP>57/.;*UVY[MK[
MUAK7+(@SWT"AJ%_3<%JW8YPT])$$@9?7#6M-U==@ZJR\(&QK(5""18>::V\3
M>M1..7'E-'HM&+QB8OY]46<IFZSV3C%%,IF!E:2XN%$LNI1\JCO3)-8<YN[:
M12N6AI/O$Z]I+-=8[NMZ--KL25_8S#4X:<D3<1F5S\$8YR*__"A;8[D[8+D%
M^6DD^)B%99;[PB C,DR",^.-"SY(+*(KKV7M=9>\[ISEKI#BZ*LI0N9M8)69
M?A#J:9<G9/ZWT0PILS\N[EOK_M*OV]?I(M>QZ>V/SAFQ_D?G_'<\.M>EK?E/
M35KS_#"]/$E9LW:'Z.3FZ3'7P?[F_A\$O9<UM5S=_;ZW]?8U[![\"IMO_Q!$
M"7L[E29>O#R^N)/^S=O-XZWME_3=FEKNM_=;O[P4._OTC!?O_J+O#;;>OB**
MV?FXN?VOLKF]^?%/!*F=5I[9!(1KZ3-S*2I6@G=.**A9(2\>H2O"2)0Q>X@&
MK$U!1JY)N^;H#(UIN+CO_BQUT'].4P>]/$L==)@G7S]<M]3\5M]L_*K/=WQQ
M1C[B>?C7GSE)PRT@*U[44N4AL( 8F$49K ^@@^?WXCS'-_)DT62?'1$;US-*
M)QGCNI,==9ML.]O1SG8L_6S'XJ7W8B?]3<XC/-2^>)%C/@AYU%/B,1PLN-S5
M_#>1XFK*M=_O2,,MW_W!A!>D+%:@5@(M1##H#)08N) .//UZC2#JY0+ME]%P
M?#]6N6ZJX69AAOUW?/-@]V"']-G.VS\^4=N.Z6>]M;_SU\[![AYI.;GU]E>]
M^>D/<3',\.;%K\>[=,WN_D][N]ND 5_\BWY^+[?V7_5W#U[RG>T=L?OB_:>M
M[?^6S4N"J<*22VN!,Q1!,G"\GAU R1SDY%3B$:"N<MD-H6Y=QOM:*+FOQP<:
MS3TTFLNV*,4#5\H: "=](7=49B<#9$@V7^-\5*.Y[T-S"]%4J[F*7B?F2->Q
MFI^6>6& " \LV2Z=35+WBN8>U&+_ETI"]@>UK9U''TY^Z1_4_">WV%CX&*K$
MV:(53U$'@1QLCEA BB $H%=2H6_*;,THZY*CG5BB]B9KYCW4G+/:,OHU,>MS
MEM8A)B>?/ /8@$LV(+6"CP\%RK7*,[H"G&0(R"2#LB([;R2J(+/Q37VL'907
MU$>.(6%2G#EN(P/RN5A(4;!@LE42O0TJ=U F=EXC*#^""-<FQCWZX^CX\V6#
MWN,ZLG"=0F:@)$3.+?T+W$D7BB[:>N.D35JIIBS6C(XN.;)8<D;O:Y8(M(5<
M(!^9@Q@835\;(VG'4E=EI>/$1\ORAM8HM-.P?)*T7DIK"*K)J@R$V:"U\[(8
M=$)975I@8_VPO'C<$;0,")Q9+A2#P"4C2D[,A,(5]US&5#,C6+,AW*WKPK?#
M"M=!XL_#@Z/I)(_.R8HN9^^P3#[B*+?@Q1=H*6:MP?&(D4? ; ,$6?<*@2C1
MQF":Q%@O6KKL+&027@7%,RL:-8-4BZ6B!!9I*($KXZQ6Y/&8#6W<&GD\+7BQ
M7"@K"P15QW/Q]!/GP6E-<B.YC$$(?YW4<@W*WP?*BTLGX*7FH1" /3"("9C/
M0C+K@XO9YV1$#5[H#7?["N8M>'$=(+Z:C@AZ)W5%"TW^FDR_Q2Z^&+O@$A/J
M&$N)D)Q$D>E_V:6D0*!OPF+=V.B2_2I:F^225RSZZ$E8V,2\SH*5*#4&F]%&
M_>29W0 GULC;:9&+Y2+9)Q18"OK.54C&Q\)IQ(,-RGKTJNF*M4/R@JZ07A@9
M)=:$M9+1_VN&1@'#')1(TF6(MB)90XM;?-]=OQG'>6\X2)_MM;B9K'@,3@[-
M4Z43]PJ+ LUM2 @B:V>MCM9YWF3%FI'1)9LM7$29:(B8"YIDA3&>N>A)5M"
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
M]BY&E<.$R*0ZY\WZIPTY9*181DDU#5P'@!V)P>K'L#TQ;)TMZS>/]=LC7U+
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
M&@-S:QNZ0? B!<"\@F1L4"KQ%+2VQ"V_$*YE K=[VBMP-C<X.Y^&,Y^\C(Z
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
M817=PSH[8H.#;9TGRC2A@AJ!?02DQZ76X](I^K2S@+!<U2&IO*<GV-,M088
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
M2Z'8#='TG!#+^KH*%FVAOA7YH88YZZYL/MWT&%Z AJ#T)O0]M%T'[$S+]1S
M!LN'7VQJ.:$?@([B4$'IHZ/T=2<#Z)F18T5$(6!L 'U;KN(&1%=<UPH]CQ+3
MLJ)7/[JRK1^K5)D@].$1NFOXONYH800JH^D$/M$]7?-LW[&)'I)0$/KH"'WC
MW@![&-N^&RK$I"#2(]M1?#, 4]+2/4-SC,AC[50<6?6&%+DD*/W(48J4&E0E
M@4JI9>I>X&NAYVB1XWBJ2PU?M$X:'Z6OBW37#RQ5"TS%<TVJF*'A*5[DFXI-
M?)O87F3Y!K8WUF7G:(7W!*4/C])=U3)(I(-Z%X8F4#C1#9]XE@\F7&1'5-P;
MC([2-_,H:$BC("0*-2)=,:TP4GQ/"Q4PT#U7)ZYGJA:[-U"/56Y=$/KP"-VF
MP.]MR[8]+S)=U_=\"RC<"9TH]'7?\02ACXW0M]T;^!XA?N2"^AZ 4'<]L-.U
M".-Y,?[#-@P_\%E%(&-0ZOME)1[<9%4YE?XKR^EAMP>7<,OI1*YM>9X5 #J;
MMAGZIF-X88#-FG7-]0+A:A@7MPHV;P\\P[4CE?B*I;E83@-T$R_4/26R5,>T
M-,Q)T%G@DN4,J76KB&<X=HBBZA#5C9S <DTUC(BG6F;@6YH'6!#J(L%H?)2^
M[FK0 Y<ZAH9QR!'\0]Q <>'$%<UQ_0A^  44TPYD4#H%H9\MH5NA:OFNZYBF
MJ9JAJGO$U@);-:/ #7W5%B)]=(2^<7N@!:&MA4:DA"$6L2=^J,"!1XI!G9!:
M9AAX*F82JK+C6(+2SY;2?<.Q]-#5O%!333=PO<CV=#5T0H\:>J")VX/Q4?I&
M32D+M#,2:0JH;3[F%]D*$'JH:(%)#=3@;#MB.<.N*X*1SY?2-5/UPM"BGD%M
MT\$B8R:(;M=U==?QB"FJF8R.TC=N#US5)R%8XXJEH_).T:5HJ:'BJ;85^K9M
MZA0C F3[Z3VK!:$/EM!M-U #)](U$OBF9?F^9GEFH.E$#_V(&+X@]+$1^I;;
M \M3#<>EEN)3UU),U_(4E[BZ8J@A*/7$=4,]9,$_ECHDH7Y960>_DH0LBE@D
M'NR^.M <G1J6ZIDVB"L-.!=Q'9^8F"!G^<*A."Y6]<?[S:L#5W>("DQ*L3W4
M20Q354@4.$KDZX3J@:Z9H<DJ0QKZL7KEB9"&X5$ZL8FN^5K@ 66;H>Z[>@ (
MX!*P23WJ:,;+4+H@YG[$O.Y*0/O"MR*JZ)9-%=-S?<7SG5 AAND9)%#=T(Q>
M_0C,7%#RV5)RH-K4!#HU;)V"S+8][/GC>4X8.;X:U75*A,P>$9EOW V86F '
MKATHJJ,ZBJFC<:':CD(#UU=UTS<BE8+,UF3=>;(C05#Z8"G=5!T2Z#0T: A:
MFHLM)AP?*%J/'"W4 R(<":.C]'6!;NHDC'S+4 )#\Q63$@Q'#!W%BAS;-KP
MNQ.^^E'79$L[P[KM@M)K2E==UXMTU]4,EYH^]5P["DU+MZ,@=-!U_#*4+HBY
M%S%ON/\U3[=5W=4!FUPL9:ZYF#P0*1I5#2,R?2]TP-2VW3/L'",HN?&H44^C
MMD/\P/5,1[=\/PIT4P\=XH#][5(AL\=&YEN<_U$(G-I142O'VL#8*LIWB:48
M-" !T0D89UAR2)<UD3IP,J+].YEO-G 7EY0UGPKMP+9!O[#-P 0[P_(BS]9<
M0@)JN1A_)+P(X^)35UL\_[YC.)Y%P+:P#; M(DUQ(Z(JNF%I=A@1PU7!MG!D
MS1#%3L^7T"T:Z9JA!08-J6EYOJNJ)'*I2D-BN;XIFNV.C] W @P#%E#F@LGA
M8<Z J2N>89J*$WFJ:8+^Z?A8GD!V14^2,R9T$RS, #F^'EFF3:EOAY:IVI'M
MAK83Z:8@]+$1^L:] #4"UW)=1W%T$.:FZ5L*T2A1PI!J--!MU_!5=I?O.4,J
M=2HH_<CURT/;M P_(E0E)E%5UR)8Y]8TX.^AY9K"QS Z2E\7Z<3W#<?1?05K
MR('N[D2*&P2>0CW@W[9O!&$8O/K1E!U7) >=+Z$3*W1I:%,?>_O:ON=1S8;3
M]RC53=>Q1./FT1'ZQIU!%.HA'*>J^!J-,.F7(J$'"O$UWW*P106V)#%ERQ,2
M_7P)W==T[!]I^ZZCFS9Q/4?SW,"G9H@.'#T0A#XV0M]R:Q"HH>GYQ%% :\."
M0Y@\0,P(S'0PVXW T2V;O/K1DXVG7Q"*C($#:?9]E6=S*O(%=A8@,?U0L\#,
MH)YI19&KZ13^/_#\P+,<.Q(^AE'QJ2^WF[<&MNMJCFIX"JB=P*5TS5- X0P5
MQU5=E]BAY044G8FF+H*,SY?035L+K8CBA:!J.D'D1@&)G"@P33?P;,\6A#XZ
M0M\H:FQ[JF/KOF*I!L6^29I"B&,JEFZ[*@VM0*7JJQ]M&5!2$/K9$KJE&=0T
M52,TK-"$'\$ P4*"CDT<RW$=$0<P.D+?[%-@>Y%C>XYB6@;6%0NH0N OBD%=
MZF'C&5L+T.X0$OV<"3W2 R,*'&I:N@-2W"4ZL2G@!74LVS4C$9@X/D+?2"8P
M0CL(HD"Q;=]33,,GBN]030E#@P:A;S@T5+'\R!$<#(+0!TOHFDJ!>BG%HC-F
M&!#?U+TPH*IEV%0S#.%+'!VA;UX:!+8:!+ZOJ*%&,0X ;7354, R \TMB@+5
M#9CJKHD68^=+Z*'MA+[G>(%-/!/^AX34\UUB$A^T.]T2$GUTA+[ET@#K QI^
M9&&7 NP6&AJ*JWN18H<@S@TMB'S;P6Z"AO?D0 "1:7!HDP)8,IEG^6'W!A=Q
MOQFHOFKJ+E4CU\2:A]0.'=NVPE"+@"^)>X.1L:JO6UH4>)8>>%Z@A&J(MYNA
MK1#+<I7 #"U+=2++, .\-]"?[DX4@0R#)?304K'Q:108!C4Q^S&P[("".A+
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
M3F%$7J\*!\6S.>&0($&056E9;R8-87>PUX^ ,=F,PF0%A2\LL@I^3($]P R
M50C58F6K_F(#-O<93"4#:!'&A82L5%??SLA"9C]J;]L_(>*L__$^3I+UO\%*
MDW#]C\5TVU]Q]\'&I*!AI>M_(["C()[#3M:?^#2)Z=W&GRD0UFS+\'E.PWCS
MFX ^< [-'Q'X[6Y89NYR'D35%-A4&=]1*<NE>5+E<) <V0O* <IQ@J%1D,$I
MYBR9%\AL%J= W+>+20_NP%..XQ2/]8UF3"RF6O#7_?R''W=.51.[J?,VK?.L
M8'+O34X3MOPZ][?.U^^\6&<.J\M7B%]D257N?J6S[ #62?,3\33-6P5']]]I
MOM33;JGBYY1\54@$BWU#DGNR*%[]L+(G."QE#8;KV]]]#D-F^P^R2.2T60KR
MH"855(@D'UA,B*(!N2'PZ1RE-2=?KC)QC(>'\SQ#)LW_YF=5*4458V]8DZ$$
MKG65)'MP:.!^*$WV$U"X9+[":@Y/XY37<F ZWAV)$TY]F505R.-JN13%"7XZ
MA"_S/^WUK8GTW\!F.3N3TJP$^B<!!2D45LC!DQB$ L*OY@:[-SJ1_D6E*0$F
MDF92Y@->\ 7C,N=L421=+-E*]\4OCTP- +C+$ICY:YK=I[64Y#\SN2FO"LT.
MLXI WF1Y =\D)8BN!<B3"CZ%YPI/*N!SK7A+X#R3@@LG8"8@V&0)A""#/ ,!
MOC)%ULS7!/L*XRB"CR!;SD%P I2C/)O!QS+X!B!3SHIQX)L@^8"KARBPUK<O
MUQC"9"W3 A@[@\'PA5N:4N3&('6_4E 4 $U1NN%Q^_ HBLMZQ2!I.6>K)6UZ
M!P*CGA]W6U3S.:P/U)4X70=7YWO7G_[OQW>*YG5 >)MD/DED&'6+ZFV"VTG9
MT<+/\PH..I"FE"3E5&DF"F ?]3'@2I=B'U<"0 &<QN?P/7@\X]M!@94#Q$K2
MFC+\/;9!KF8A(B!<$9%1CN5@L'96"JI,B'23YS'-8=_ :D G 7T<QD:P3(3%
M/(._8>4("3 */I4T"DP1PW#28@R'&O'Y %@I_0;J7$FW:T^=1? C#+GAUE ]
MG#=G(5(9EPEMA?%G&"Q]X%_LRFI 1'H/LR%8V!>OTA21=0<1_Q?2#OO,@L(6
M $?@$^]H0&<^S?DH0Y,EK#538\=!W"$ MA15B.8 T *T,O[-%,M_9,"*=NBP
M4D@+P @?N5E:OU2T$"D.UQS<5F\0!M%#DC%)LGLF&5:]":3Q)M3'ZR._)PP[
MX'S_@#-D&(N&$)>2&<(=<1J/'RO+,&)?V@U=F5N3/NKY0,7I K\/TH46C?'5
M2R!.I'^F"1)<S51A*/L8XZWXG;K\$J?!>^ ^C?%1,TO45%MCX'Y#B8;MK?^I
M*K8HS[@J3J[-0Z (Q.A,6CZ2^;H_IL&$4QO  RP]()B8Y&C3]<>;77KQGHX3
M<]".DT]W-+^+8:[CP65H=-A!#@GQ0D:)&?[)\9Y3PB]@O^2S+*>R= U+!H:>
MQ@1T Z E4$T(4P] %;UC;!<D(JH6P%Z![("H2H9H,TJ*BMO;\,=@RBPSI@\E
MZ 5@.B*P;^"\LQB)N<(%X:3X$]CS$0T6 2B6"E=C0.9BM2K8\;^93 :!FH4T
M87X%IAARX2BS;P./!S##?Q2_@N= $+ [F!)$;2O/ZR\Q,0AK9@ICO278I)]G
MP'QRYDZ!_4T!?$I7_X*1/KH&F'G/>!>7X^SO*-G9\Z)6WV&Q%/4#,$VE8E$
M7^*< "9+EG]@GHM\D8&:!5I,_6=</!B,TS4X<4;6J)=%$#.G!+P6IX!:9<6%
MF?2I:D%:M+NC"0B[G"V7 6(*?!=_Z2KV#.9$ND,>43)%>?7[7"_ >3(EF_.]
MA_0N#FBC\H$FDG/]*\Z#"MD.FQ-4 N"7P KAAV"*4 !I?3O%EVF2S1%=V($Q
MB(-6!.*\<U03J:DR5TB-ZMSNCT$"J3?@ZARP>U@B+@+'@';:*%"@]^*:9_&_
MF2!BRU[1KIE "N]0DL" 14Q!(*&&#\K2+3TBQQP:9P 2X*XVINJ5]QD<%,I
M7BR-WK8N/1#49<<)^3O#]FNDAF;8TO%8XW']]XET0T!X-OIWAXZ6:D"7E)CU
MN6JU;OT>\V3B*C=G[T.%.XAPVR+6-W;6:,%-/R3G%"P_  5Z1@'*WVD3 TV;
M)&:>@=KTST$& &%3"DPZ+:?L/*(8JSRBVF^@FX [[KB=]YWN3;R^L^C<&QW2
M /3$@B%L9VGW!/E=#)8J@$-"[P$R!!R-V\/!.:]BV=$.BR(#S1'WV!FVXF<^
MBS/>T'LT"\[X!I; !"20[M72'_X[:-9!W('2/PMV[N]K!_ !]T7#@\AVK.]Q
M XJ__ ;VA*3+)[O&W;Z)FVHV0Z<#'-DC)_S,ZWYPE7+M?<';XZ4MM[Q4ONDZ
MWQAG9]Z#K7X(B;D@&BN?NSLZ.^_<]327&+7FL'W0O"& JO:?@,F'-PY,2ZK%
MWZ.KGN"=6\>_5_,X("6"S$MBESJ- X^I2;--Y&N7.Y'>57E<Z] K#)+[6JZ
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
M#)AUW$0-=)]=W^+M;G-97$=/P)"V:M8:J'K%LHR,NOY%I2D!U*OP7OO?B%6
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
M1[Q:4088VO2_*1B&D@Z&XM<S>'VEQ'&RD%(8E-WCTR0&/@/?J><O'BKN#<?
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
MWH!RBLK##*:=%O4=[V:H6:WE\^O<B(.4.=4J=&$W#HY];Y7WN$[^R#7$QHC
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
M.CUO 4&7B )82G(2&8T"2Q)5Y$UC&4&71GUH):N)]$?)=8HJ,IU8==#E,PM
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
M'&.*Q9K6^=^+SQ]>"J2%S#?>X89I,/P<NKS_]3-.R F;Y O1^=D*>9!%,\-
MIDR17"BZKC  4TZZXJ0,I77.? U8P\N*M&!$:WGL+,U^U8KQR*R(5@!Z0QI+
M%@=1D^[24F=A"BW!LL:DN2?$X25>6A"H3SDU(].;,/L;%]7&O<=T-+MT?HK%
M9')U&*E!4<_ #:E!Q140XPM*(PV&UH4'M\ 97E*F!4E:[7^["I3OY^@CS6M5
ML(Q02O&@!-,0+-> (BD9T25>6GL:%Q[?<"7GDLJ6E4#R\2:0I"QI;B=\@:QU
M0:N,,:%U*+E94=T#5%C>2]K72FBVV^NMV5L+E\_3&+]-CW$VJ<=8O\W"9'%>
MO#$2G#RW6!($YVF%T6N(.2,4CE[HXC,3X;+XK]==K_6D(<5%VXJX_=;V4BUW
MX0#+:31L>6(E?0"EBB54J= J+5H4H3B>>RR8N]]QX0,436[WIF^_YWW7RUV
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
MMG5OB?71#2F6?_STW%;\S>AYLL2#<G'9!Y.M-GB4M<H!!>V2,HSVBUZQP$V
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
MV=/@QN^O@0@\VI@#:*U5#=8M>&<5)!:U9)S\@^;<6DLS-5OAA?LI@7/R0WB
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
M@Z:Y$VL#H(<@ NTHWL')?Y+2Q?G%H%;$K7-*+( J)D.2I#M;G>C2DX%#$$6
MX"'9D'@.-K06C6W!/0@QZ803'62XGN&4]HKY>1@/R0"?+%#YQ#B)L(;D9H*,
MF:PLX8%L+B>-DZXTKQ:Y&<E#$(8&-%Z;9/JO/ZT0ABSE/_>H_1H-$VUZ//.,
MC\K3,=)U%X9S(3[K3_Z</*N;&4SN5/&U]8>WJ?.ZVUY6JKM8MD8:E;C,2CDN
M@E".;G=F.#(='.MMO\R^:MV5=>KG?O6)2*DXJ1L1BB"K5FE3@# BL* Q*^\]
M]ZT?^O5H]E=?5S[Y#=G]](/P'GG/,,]B*0:P>#HS07*(AAFPZ)FTD4O+VVNR
MZ_$<_G9J) 77-=M&1.^D9&L%V]RI8Y.2/,8"C&D%RL=$=ALFNI%E5-(S+7)K
M7]?-2 [E##T4ZW<G[ZDX1Z]MY><O[^B?SLQ\) 7<!(4@BR0AI@U \)XHICP9
M:5;1Y=Y:X]T YUB.T1;,ODU^[DCT3CPAJ[NE?[A0Z+:!UI&3= .LX[A*F['P
MUJME/_H?6$2B3UPG;8!4<UW;O4CP02?PKJAB3<HEQOLN&K>X3H\A&;N0O0N)
MN)A,R3P?7X.X,-N$*)ZC%*!]U8:*3>"4%5"\E3RQF'QHG6-S"Z03T$+ORKY5
ML6A(^T-HHC]_^1F'Z<-Y&/\Y.Q)<T29-**!R30TK1 #G=  FO7 F^"*ZOS%6
M,#UL3>/NY._ EW8=WQ+=XFAL@^]0.L<*MI-1//;@Z*WBTH =AU!!5G$*Z5(H
MC"!&67,',0#]H#ZYEI%Q9Z72G5NZ!Q&7W961 TK++ESHHB5)&-2ZMD\XO,!7
M.%T\B!)99AX%2$5WJM*,'L24$# 5CL4K;6UIG?!S$Y 34$'VXM=JTL_>Q.Y
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
MR)8NNA6LW?V5/-@M(';5K^)V>$=J8M&:M=N*SIY\.9((<:V#]DY!3K.B&5_
M>S2@:\&&\<B=:=W0ZFBB<UMKC!.0G%W8T44;C3!<ILSFR(4F70QB4M5?5</-
M(6G0.3/E?([%MVYZ]77U$]*%[\J<U6RFNU&V T_@SQ?]09YG&BR_?''^<3SZ
M-(^T+$!Z+Y)A]&0'9<EP"RC \V2!9^DP*YVX:'TO; 7LX4E&>WYT<#%<;GK9
MH=2AMBX4" P)3JD.0Y\=8+#(-5V+2K1NRK("X>$)PCXT[L2C=O[Q8HKC55B2
MC#TO4VUZ@*Q.,"5)9+$ JT]BX)I%WGJBXQHH#T\$6M"\ S?:+Q=CHNS%&&G+
MO_0_UZ^6]Y)D3FL;-61G)2A9Z(9BW(*,NG;J#$:4YID1:]$\/(%H1/D./&@O
M,4SPPVB0;WBLA!16Q1Q!AMH]K Y5\,(4,$5Y)#&VTK<.-F^ \_"DHA7MKXN%
M[B0MYNUTE/ZL>'$\J;28?B%M>/;#GVDCN=YZ9*/-&^\W+GIKM723])I.Z+"2
M@F/IB1"*S M.<B6M<=[;8&0J2=.-X'*O%8A]._R%,5Y?<#RNQ9MSH_OKK[P)
M7V8C/VM%YU>GLTSTZIG,P%E-CZ(Q"$[8 )R,\!@C*YFU-E'V1[UWX*(RZ@P_
M7HS3!UID%FT+YT\NIA]&X_[_8)YWT.8]&;(L=2:!2KYZ1VL+[5P4)!%MD,A$
MTJVS\+>$=OCK^,"R=BW T0'+NNBY^2W,3._6&4[[8\S/+FK:Y1L<]T=Y1JA)
MSZ@BR1@A-31*5LW1"$&H""DREB2*(FQK[] N^+YW&6O'O Y\"=MAG:4 ]W2)
M62*=!'2"U:(7TF:4S: T:HS,1L%:]TO8 =ZCF#5B70?NBYMOW3.L9*[>MLOK
M]^OO+"]BG00K7!LH10I"'B5$1L9WEHG94+04L749^=W1?N\RV!5C.W"C? UM
MWTK"R3H:SF/?3G$5O+50Z+8&Q8P"SVOOG,)%T"D5'YH_OZW 'RIMY=AB>A1F
MGTK>R]MIF,X^\>D@3"9$@WIH9Q%44G(9BUJ!1B-I-['0LR "9)=$D(8K;#YK
M<"V8X^>X'%0VKEVD+7C4@8)X%<^R,]06B#K*=+F.YCB)+8W8M1IQ:$/KPTA!
M%#XJ;@4(5\<VYVPAD&D,H>0@BR;)+ZV3,0_%_5MR4P[&_%U(W 731^?GH^$,
MT#+PG7@(B7:EK4;2V9(%5XL+5$3N+&-%-1]&>@W$X77L?3ES/:ZX!UD[&?!"
M;]IUGU@5:-+$M?2U.U2(C@2:T191"<!L0U E>-:\6F,]FN]<0VC#I2ZL^QN1
M+4[*-M@Z4A8VX3J2VM"(AUN)QAX,Z,+1N DCMRP&4T<A*1] \9#!Q>)!2OII
M4B%$WCI&?7CAN$VK.()L[$+WUJ6FK]-T1(\?,8;=[$5:/(X);=3"UEXGFIY$
M$>KTLX1@:B?ZF#TO>L4!N*:N=,L%C^3#:\*B4<?T;:A\S##^%K[4@[D1GPQ2
M1\LSJ5J^-HAS1 #4!CQSAGLZ$-RQK?B_Q6(/A?>MZ;KV[!\O-^4,)]-Q/TUQ
M_O>_T_)/TK3_B?[-83)4M@!PZ#R576FRDJT2N1-,HA#92R5).HQ.117EI#+<
M1KM+MLH64(Z>L\)-$885!I[NOYK['R%:>F6M,]9&@XPW+[<Y@9R5NR*8,_Q*
MC^[7TP\X?O<A#%]_K!]1VT)](JYC/AL-!HN6[[U0I!="<@A,>Z*QRA!SU"!J
M5IW(G'G6W,-\T!W>RY#?+I)_HT)YF@+4E6^DV]V^NICK85EI;W,$5B*]QT9J
MB$C/?A&9<59,3KSUC)*#;>X>'9(#2.GA#]0=1*PK%T G&_V5/F(Z>3&<I[ST
MO!6%8W;@O<]UPHB'X'GM=D(&LS=9F=P\4>E >WL\24<Y27L(6%<.UT[V^5\S
M?ESN,YK@I2MD>Q+EZSX1?!TQ%U+6S)!YH'#3!,73.DC?[NWQ(!WE(.TA8%TD
M@76V3^)"P?[5K:)$QC*3$)TCG3L+7A-]RVS"IF 14VH^*>B VWL\3D<Y3ON)
M61>]O ZFS*)DW,5@:RB$KHY2(GAK(A0=;8J265U:5[T?R5XZ22[\@?WW'^B_
M3S[A.+S'F8+T+$SQLF/XU<-C4&I9+$*,M5,+YQQB$@5*T)I57FV>@WZBO-J%
M!/?H?KPW;J+.1/!>V;[;DZ/GG6.A> G>*0'*D:+EG ST5/!"?U<X"P_Q&-ZC
MLW<*PG^"!WDGR;U7I_=;Q\+MA&"\J,Q= /H_:3W6.0A2!=#)QQRL]*0,W9LC
MO./F'\_Q:9[C+F7X'GO/;B=$XLJ'9&CG=C9ZO2;A<!\!#3IM++)D[L]AWG'S
MCX?Y- ]SES)\'SUXM<G3[53@TDF79892:A*=#/5*2Q$T+Z8HY)*QYE7*)['S
MQV-\FL>X,^F]GS[#VVF@G/52H0/#2@$5A2%;0RJ(GOF"FA7GFL\6.(%]GTX9
MO>&>UW8G8#Q#4(K7VKE2E40N0BG9>M_\"OT.R^CW\ND=A=FG4D9?&PB^"N?S
MWN,LE$#:C08G4B"UAR7P(B,DEXVCC45>FL^)N++^_2^%VTD"5INWWY437?3U
M7V!95EMM@::K*1#?(#G2P(<[<V8-B_<@:_?,ME[P(H("89#7XBP!3FH.A45=
M+.D33+?NOGP()M\VFJ$C'N]"S=;%:$N-*M$EU?^$%=FR\3>72@L=H.1@ZS2E
M )%K#9HQZ1)*R=)*:>*:\J.U2QRA)>X>A!\UIUH7 U9G[\QR3HBP3DL;"8R+
MM8;2D59O=80LO<U<69^;UR!\ ^#[?JSOSHMC^'[7$N+K-H9YY?QLLZ<N2]P;
M[^<XFL,>8K*K4^50/#Y&(/(N>W-T]],SK:&8$LDD3'3_ASH<5/C"T&5IFX\C
MOS]R>XLR=.)BNPMK.Q#7&ZI )V=O?[^L0#;&5W#2<0_*D<H1E#3@467FN K2
MMZYXV@CH!'W9G?-\U!7#UFIUQRL9?_[VS9O#UHC?M.*AB\)OW?5*%3A'5L=6
M2.F=5E;&F&UR*CN=8P[,QUVJP&]:^^AEWR@%2:L78!W6X>B829GU6$,>(9%D
M!VM/QM/_LNFH@A>3R<5-3<B?D]B/OB#.?NG-LEL$W2J3GM98:P81;&T,HAS9
MAM&3^>&-R4:DVAR@M8OCCE!/\/9N*XLW]E[NF*6G5%&]B&T]_TP6<']2[=*5
MZ-;B;_ -O6#8L[R@#*E6%0EZK*Q7X)P@74RGDB2I8D*?S#'?;6O?GZ2?H,BT
M]D"N *.S/-O2L_XDU7[IOQ!/+H.V]9L:Q7U=ZO$/PX17>DKVHA<Q2^,@9F]
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
M\;&V\FC=BFPMF <N%WM0OK%S\#(=[6O(-PQF=V46QB@?'0A%4.B6I%WZJ.I
MKRPY\I+*5N)PBW-P+8 'H[^V(W-#^V8&:AY&N@II*>9;@&H8%E@+Y/!A@4:,
M&G5%Y=;'?RTXH0F+T0%<#K5"@3D(5@9@PB:=I%"(6Y6'GA;K-\0&#LGY78C;
MD.-I=#&<CK_TWOW1J^JNK;YKEF7M=41[\BSGVFL0HW1,>K4I]WJ"Z6_O1Y]^
M6GSBG,.+;[XR^.MZAW50-2+\:"^J-=3=E@A^?]OCT7I:A .7@60Q:P61R0Q:
MT./C6)!8-AW+W?CV^]N'P+<=J=;!>7OZJN>-09<(@<^FUOQ9!C5U#X+,VHL<
M+>G]S?CV]-5#X-N.5&OHSELB^,^S7@B)S#5F0&?'ZP8,'?98(%I2TX-6:-(F
MW^YN?/O/LX? MQVIUE"I72+X[9\]'5R81?2\1U9[YW!P-M##K4MVR$10:M.\
M]-WX]ML_'P+?=J1:PS:>2P3_\89,X5E2LP7)+%G9I'G134W7-2\E\<@E2W93
MJZK=^/8?;QX"WW:D6L/.E75/SR_&HX^7C@RF!5>"S.-@$)0A1"X;!<Y$(:2B
MS=BM4KAO,1JNKGF?.;@7_:[ST>Q[_M[^VDN)(P$0X&H^LZJ5Y#$*!!Z#\CG9
M[,6FE+#=SM_;7^\S]^Y(M>M\LWOE'9SA9/JZO/N ?XS&@[R,FO,B0DH)O"/Q
M45&2#"G&R%KQQ<:LD.-VR4 W??I]9EH;DEWGH>NVD8)E#-'7V1*\.AZ"D>"%
MUI"CCC(8'8MH7;5WDHT4.DLN:$?^#MJ;K]0M;@'F>^V8L!.C-M?/WX'*G7=,
MR"337!H-+CI+H$0!AY;4/IV]%<$&VWQLUZEW3&C'\5V(>["."4HK::P"@;6[
M=^+TV 5-CYU1CF.L^>E^JW?\1#LF[$3SK3HF[$"P@W1,\%'GHF*=0A8SF6:,
M@R^Z@+7.<U;0VQ2VXN I=DRX,_OV)M6NXR\7/ZY_Q##!?_N7_Q]02P,$%
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
ME)[ZP'R]8VI=/:U^JK6U==V,C<%U-.9>@*;]M6>@PR!QG&,]K%#164.K.V[
MUTC@'\20C277[SO7G%K(IYE9XS<^7FD&;6MY*89Y#.,$,"X1(&F2 HX$!"*'
M*-/23%7A%++1)61RWY/%(MKJZ%D3K1/-;B8/A='0[.L)CS,YNMC?D<N[OKTA
MM/6_MF36.?PH!.1BX)HTG*[M$;3U]ON\K.JV0?4J6:NO6MXN5XO5C1E^G;27
MIV:2QPA(2<T.FS *6(83@'+"E-9$,BQFC[H0*Z=(+0>1/J_WKN#AWO*UTNL=
MM0VZVE';(\C'!?%N8A@"Q8%)8@/?1MUH5]_SV^E^.'K$1P7&<Z20J(MQ]0N!
M\@"I,^K)99SQ IT\K-J+;?*YKV=-R]7RYJLN[MYH4=DU8AO\H3,NLD0PP\7<
M%F0S?W#;$UX03E0*(4L3[E6O\JB8J:W#K(;18L675]'"^N:>A==LTA\?S"!U
M?R&[BRO+A[IUJ;1.:<_BE<?!=]M^7P[IP(QL%00UI%;%W2+C;6!'] NO'HK
MP?W=L(0J&GE<R+@%(3L-/2CVV'UUS^;0VDR"?&X>B2X_Y6_T_:J<KQWWE+.8
MXU0"(G/+('D,:)IQP CB9H&GD,1>=1@Z9$V-1G95M72A&F4]6T1W8.M&$($0
M&Y@EGH/5ZCG \8<#'J$Z0'=(&K<!]'F3#_H_.]S2<ZFQ#0:>P0P1'&,$,HH@
M()!2L[Y(">!,,BJ@IA(KGS3#G;&]V&"$/,*ZV4#_2.A=U!P7!OVP&'HUX "
M_\?^T-107_B=D<?]K!^:=/ M/W))#\?,M3$:?=&V:Y2TZ[#EC:V6WWYB>$:9
M8BHU'VVL 1$I!N9'&"BA88Y3E6#M5';QK*2I?;RMJM&>KM%GYSI*YW%U\+N$
M0FO@"7T"J#Z.ED[$/#PLH9 ;R;7B^ZKY>5)<P.ATH70.,)[OQ,6./:>)TPTA
MDK_^JN<WM[:IT*/YZ8UN2N6O?VDW6V@6,P0)%@+$E.; UID"0B ;0)LS\V.S
M/\J\=D&^"DR-79\EB%U%WUH3(M[8$!5K(]H4,J/5W25Y30X/R6U9-23T U/U
M0>[36ONH53_:Z-]<$7WM0OW"="AWZ 9)D'(0_X(I4^[@="=1>8S38^GX1N?:
M)M;^O#+#+^VG\N>"+ZM-YM8LX;%4(E<@@<+N[V0&F(A3@#%+!22"I,3)?^PD
M;6HDM]8WNK%J>JR#SL(*8YR2F#*@268^)P+E@%*1@ SR-,LH1RE+/,Y)0P([
MSB%I'4I5:*GGCP9?.YG"@^RP1 \)W,#<OWD9M[I&M;+;!-B0X'FLUD.".-**
M_1(P_5;OKN!TKN#/#C+>*M[5GKV5O/--?I^PLJBVK2Q^UBO#(/>W<\D7=34^
MB&(&$2$V(]!\NK#*@$@E!1(CFB=IRG#BY/GHE#*U3]:N?EX5#;NQ[*;28 @-
M3*$^X#C/<B?CNQ; 9H"=Q:_YUW;AVSWV*)/>R;SU9'>[N&?N\/'LLFU^XZNG
M[25M^F-=>_'#IJ^:2C(5&V(%4MF:+K&B@-$$@31/I29::_,3KT3ABU6:&GWL
M9@7OVK2;1VH#WX]F#]?U0_OWP0OP@-T< .,^MH$Y;3?I]_P3>]7WB?EG_@8#
M.52:[^4*C9O3&PS @P3><"/W;)ENCZ*M2+NT0"1.8@T5R#BGAI21M!D# @BS
M1L.2:2F15UO!W<&G1J]KW7K5FMY#S8WI^F(Q,&>YPN#?)/V(O:%:I.\./6Z#
M]"-&';1'/W9-S\E9K-2#K/[*+1]43]>VEBA?K-L(S[C*((^S!-#$-D!7L2V_
MQ!&@&:0*\9R:+=:Z8MM7CUG;*=7IW=TOV_9UC-62KJI%S9B>L2!G,':<W)=#
M-EH+T*6R*PV;&?_V>Z67-GVR53]:ZQ^U!EQ%F_JVN6WZU]H3D"2<< M%&]W"
MQB42)\,/J,7MKK[=0LT2Y&ZUK!L,U8N.\M-#5=H79KZ\F=$\2P3E"<!:I(!@
M(@'/-3<;CU1)DD*.8^S7,[1+W-16"VTCS$;EIN/55;..+Z,=M7W[AW8BWDT]
MX7$<F'HNA;!'1U$79"[H*]HY_,C=15U,/>PQZG37A9U&?S'?CX>B^31O?OCO
M<UW82A]/;4XMU*F&&!*04]OH!@D&*$D$0+'2&52,XSSOU7O41?K4R&;;<#/:
M:%I_L#]>_X=G(G._I^&VZ!D,XX&)Z#)X^S<T]8$I=(M3)]DOT_34!Y:3;5"]
M!NE':%_FY1_E]5+]9LPK*C/>7GD7FL6<8XI #&WA2Z@28#A+@Q3SW*R.,BVT
M4XD%)VE3(ZQ:V7H*[:GK4G2E!]1N[!0,P('9Z +LO*G("9- U-,M:U2J<3+[
M.;6XW=3;KU-W?;$QM)61\7;=\>6K_EZ],JK_,5-4<8Q)71!1 :*P  *G"&12
M93D2E"#LM2 Z+W)JI+*N;6D3V#YOVN1\WK3)V5C@[>\YA[VSSR<@HD.[>;L
M;&O-1E;QJ-8\I!_8&:9P;IYS L=V]3@"<,3=XWJGO\OG31O=9=LAFM5+FNHL
M3H&RO=U)0@7@$%(@TD1CA&5,H1/;/!]X:IRRUJUNK>GNK-G#ZKQ;IB\" W.
MF_%>;I9CEO9RJ.P--)KKY)CZNTZ2H[_O]\G_6O!EV43>75>?5V8Y\7[Y=7ZG
MUZF!3*=,"@D2J1 @-*: ,R) S&B&"*<:IEXGK]WBIC8M6[]V&55;M2-NOE+1
MO57=-M>KC/)^'_HSB+M]Y,/A./#D_KJ/W.<U;E;9 ?+^W7 )]$4_(VS4K[F;
MX<^_Y(YWC1R-9]<3U=/[I<WJJSTG=??SK[=\^>G>#F$+7#[JLM+JRVJQ>+<J
M[$TSCE-*(11 B3PV:P6< Z&P HRG*;:UCG6*1HG<ZZ7^U*COM^7<]\1ZY.?M
M1I33?8I#GZA?&O1W%3401#L81#4(4650B%H8ZAK)#1#FKP^6-^S.N#U ^]V"
M$[7H3"%T\*+'^M)AAOV4_^\1DGC1@PD6OGB9%CTK:UED;:\V*\"Z]U[II;R]
MX\4?[;$7)8P0GDO $\7L(MSZ\"$&4E-)4<:I$EY?MG,"I_8MVM,WL@I'&XU[
MGCN>Q=SMZQ(2R8&_!Y>!Z%^ RQ&94%6XSHD;MQ27H_$'];A<[^MY4KA;)\/V
M5;I>*MO:I'C4=< PD9F$5 BS;HZ5Y1D-J"8Y4"E+N$2YHMHIE,I1WM1H9K\Z
MB_6M](K!/H>RXS%A..R&/BCTALW_?- -C% GA&>DC7M&Z&;ZP2FAXVT]8ZCF
M9G>H/]B\_/?+RKP,<[%HNW_^PO]S5;Q>\++\:-Z9]F.:I3E),V'H)(8)(#Q!
M0$@5 YHK!#,2$^Y7&<=3_M2(IE$?U/I'6P.:[K1F0U7;$-5&1-:*OK%5GD_)
MC9@&Q'Y@H@H/NW_,53_P0D5=>4H?-^ZJ'S0'D5<]AYFLB_-9<9^Z*,(;7NE-
M--F,4YIG4*0@2;4MW\@(8"D3(#=/@2H=QR0CL_NZF>:O%2^JR;@_SYKF0Q[/
M#1R.1U[IF_FRKI\E^*(N!__#?!FIU6+!BS(R>D2E!>;'R7E/S[]*.,<ZE30!
M6MED"D52P"%!@"&690AA*N*T?97>+M7?\XNT-F^XU^AM'<W^]_<.3<8O'_2M
M^'OTUA]4!FS*&UF,HFTP^G\KI[WS,__OX\H_;]+?FX/?^2&^@-O?7;>>*\IU
M:9Q7#^5\J<OR5WU3:U3[CCA",=:< "(S"@B2!- DC\U[*3)NMM6<Y5[-?#NE
M36W;O-:MEU>N&U?';U8HM(;^F#@"Y4_@+@"$8M9.6>-2GHO9!USD=)-_,;MU
M3-KU4OVJB\>YW/3_C#'*4B@5@(C85CQ)!@2V[;XES!"E,:/8N9C=22E3(X5U
MB0 ;.-YJZNDNZP:UFQF"034P(_1"R:N\W5D4+BAO=WKLT<K;G35OM[S=^8O[
MK0T^ZLJQ:?/KU=+\X,'\K/VE6<)L\M02HB3)I*&(C)M-ODYR(%*8 14GF,:2
M9BGWZO<71JVI$4M=?3A?K+Z53>GAU::N.M_8\Q>_-4B@Y^>V6!G_J0S,8<:@
MJ'XH:Y/L?O@':U4T7_X8;>O>;RV[BK:V15OC!LEA#(MWH$54(*5&76V%!?+Y
MLBSPZ'U+VOQZJQ<+NTGERZ<9-!R,4Y8"IM/<[.KR'#"N8I (27!F5VZ8^)6P
MV1U^:L3:UENI58Q:'7WKT^S!U\V'EX,R,*]YX=&CV,PQLR\H+K,WW,C%9(Z9
M<E@\YNA5_59<[Y=-F;%UN;'WR[JVE5:[G?J$0F:*2@&R'"> $*( IXDM(LX(
M(ZE(4N:T[_(1.K5)W6K8O_6A$])N*Y_0^ T\_]?J1C^L%?[1)DBM$1VDEZ(/
M1(&6(DXB1UUH^(#P?!GA=6\H[EFW2/BB'_7R0<\RK!,>0PZT;1-#*&: 2\D
M53F%B4(Q4UYQX6<E3HUU-BTZBD:_BSGG.<)]"><"W%Z&;39(MAH/234GP!F,
M9Y[+>V&2.6'^>88Y=6.@K).ZUL9,&B$0QQE00BE \BP&G",(4I0KB7FB*/:J
M%W5<S-2(Y$AR1%-[Y-*TD@94-QJY'*J!N:,'2I?GC>R!,%2V2"/D97-$]@P]
MFQFR?W7/)NVZ++7>[R6XZ;>TKM[[YD%_U-^KK]_TXE'_LEI6M^4LB05'."4
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
M\2 %-)P!"E8\X[S$D0MG.$-P6#3#_=:>"YFF76];IY9E"4&009 I9-8NN<@
MSV@,".(,HI1D6>JW=MD=?6KDLNT?[57H]SARCNN2OG@,O11QAL)_E7',Y% +
MB[VQQUU+'#/K8/EP]*)+LS9^7JW4M_EBT60": HUR5D"6(:8#6M.@9 X RE"
M>98I)8G _3(T]N1,;O+N) FL%;TT[6(?6,<9?3E<0\_M/DA=D#=Q%(?@.1+[
M4EXH'^*HJ:=S'XY?'J8.SU?]O7IEM/QCQO*,Y#"#0#)M8Y@%-]204B Y-EMR
ME*&<>1'"24E3HP0;'/=^6XFG5O:R0CQ;4!W/OT- -?2Y]Y%2/%;/J%9TP&(\
M!V ,5(UG*^=%R_$<F'NN'L_A#?X]/7[A_[DJ7C^4E9D$15F7AXDQXAF*%=!4
MI(#H7 &A<FWH  D=FW=$,J=8F>/#3XT#:@VCC8I>Q79. -@]]2^'9>#YOM8K
M6 6=;HLO:-%Q9-#1FG.<-FBW+4?'57YSM7%>R:?9__K\MQE5<9JFC(%,9MC,
M4,C-ICM#((LS0D2L1)HY?;!W!YW:O/Q?_)XO=:FCO^FEVVS<@ZA[#O8U?."9
M5]M\U6FQ\Z0[9F)'#?WUY<UT6_]K.]WVAAMEDATS8#VUCOXN6)G\XSVU9IPS
M##/,0)ZG$A!$*:!9G@"9DD0HBFG.X@OKY!^7/+6IN>TXU\1_A2R9?P)[M]7T
M((@./.=/%<W?[^HW4M7\;K2&*YM_0NY+U\WOAL.A</Z9 7KZ]>S:_Y494+W>
M">:^ME6R;^JB>^6KI^TU;2O ZV^\4/4?7XW4ZZ7Z;-["C^:]7+?P(S36E.8
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
M&.002(1MJUAHJ]3I!, L2U&*"630J<K"B?&GMC"N-8SN:A4]XA:/ -<]YP/
M,?!D;Y!HM-OLP"^#Q"-N\S)H1@K2](/(+QSS- "=L9=';ALOT/*TSGM1E1V7
M7=CLS5:I*6^ULA7JGK4\S'.<IECF(.9* 4(U 8*F%,1I;#L^,2GBN%?WM],R
MI\9M:TVC&ZMJSWYO'1"[A@X$!6[PX(%-6\D-?+7"8_25/(]0Z,9Q'1)?II/<
M>0A.MI9SN+4?W>P6O/J4/R^'-8MSE"".,,"4Q( 0I@ G0@*6VE*^:9)0[I6M
MURUN:B2SJZV='O-MK3C>HS[H&:S=*"<<@@.SS7/PW(NK>I.,&R:!^.6,L%&I
MQ<WPYZSB>->E_=S6I76WL2$P)4IF,04<"L,F,#=LHA0'(LDD)BBG$'K%$'7(
MFAJ5[#8'V]0<%D]M@S ;$+;N".9)*EUXNS%*(!2']M<< [!IGA8-$MWB $OP
M?FF'DEZH+]I)DT_W/SM]2^\"YMJFM'[F<V56/#.5:021S$#,6+WI@8!CE0"H
M=!X+(@E5GBVO]\:?&F'4YV#W1K>ZW_6\5=:[(/D>A*Z;FM[ #+Z!:32+K&JV
M4*]</-2]/U[S^WG5G@&O+[J*/MUK>]!O?G\MJ_GCO.J*GNQ3@OP83.'*C>^-
M/G9I\6.F'2DC?O2RGI7N>&$/@LK/NEA7,9G+&>;0+ HT!K8N""!Q3 "C4 &<
M"X$@C;'"7A7!CTJ9VMROE:I+3ZG58L&+TI[?-&6H/*M0'0?5C0<NAFI@-ECK
M9YV531&GJZC6,6 UO"X(0M7$.RICW,IX768>U,?KO+C?W/^@S=9#;_CZ@\V8
M^##G8KZ85T]M):/RS4-=B_NKP5W/-(9YG)$<(,X2VV:( R9%!A2'B60\C3/%
M?'C!6X.I<89YKU(_;O 'W8TW!H5R8$YI=-]=.M3J7T4; ZZB:A4)W2Y!ZJ8
MM1'A2*<W?H$(R5_^J&35&Y[G1-9_H-ZAY38 45JWR_OEYV)U8][<LCY FJ52
M:PJY!E@Q"0C&":!9' .$$PI9EN/,3#^_R/)3LJ9&7+NJ@OD2W!<K:73U#BD_
MB:T;:P5";&!^VM6RKC?9ZFEK4*XZ0.L347X.CG !Y2<EC1U/?L[D(^'D9V_I
M2Q;%_<H0D_ZX6K:.P;9@5*[SF/!,@ PEML%B3@"G*08"800ACFV*BA]5G) T
M/:)H%;V*C*J@U=67)T[!ZLH2 < :G"..X31 M<2S8 1CB%-R1N:',^8>LL.Y
M&P+EJ'TUX[Q9W?'Y<B:EQBS+&$B5+70C4@B$B"G0F62)TH*HW,M?TB%K>OQP
M4!C**AO]WJA[:6&M'9"=5Q0AH!M^1=$/M<N3U [Q&"I';4?2RZ:H'9I\-D/M
MR"T]3V9MK;_;U<+<4385H6=I3C@2*@:Y2'- 4*8 E68MP3',B$HQ8TC,JE7%
M%XX'L@<BO$AB(VBXU_VKE='41VWU_,=_H!AE_UR7QZJ>/ ]?#R$5:<9()E-
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
M^\] $*R$_RDY(U?R/V/N84'_<S=<2 AM 3L-(242 X9L??TT08#6H5,I3J6
M&&7,+Z)S;_BI3?V-=CU+G>QCYSG7IU:VQ!V,_I-[D$(D^X._S#3N+BIR_*JI
M->+X#UU6-DVV<:R>;Z60QAD4,:$V\<.L&%*5 )9H"'"B%,D9YTC+:?3B\+1L
M:C35MN-XK*V8>#,.WY?(D32GHN^4^'JTEAP-1G6<8XW2WU-?CI[/?_*M.7SM
M^COISM'S<8[7H*.O@GW/*<I2ZTT!H-KA^44O]3>^^*J+NQG+<:ZD5L#60 3$
M!J<RQ"#@,4DR3D5,_4XUS\B;VH=U6^1JT3CCBT;7R CW]"V>0]KUU"(8?H.?
M7EA-KW;JA+7G&:VZT=<N"'L<8C@!$^PPHUO:R(<:3J8?'FZXW>;?'.--FX[Q
M_S[PPDR4Q5-SO#J#&9>QT(9'< 8!@3$#0B6&6WB:"2@RAE.GPEX=,J9&(&LU
MHXV>[9F_>S.,4VAV$T8@C 8F"7]XO)I?G &@5]^+4V..UO+BC%&[W2[.7=JS
MKM]#L:P[B%TOU;OY][J76!OW3:1,2$X2D&$[S0F7@"J- 50Z2W.8QU1[G1&<
M%C6UB;[1M(Z'S%M=/>OUG0;6;740!JZ!Y_P^4FLU!XBQ/X]&J+IYIP6-6QKO
MK,$'U>_.W]&/(YH*>FUCG4V5W%@F,<*(V8X2"2"90$#(+ %IJIA*!41IIGSH
MX:B4J3%#JUY;DMBS!/%Q'-W8X&)T!B:"=7N'-4!#U _NQ"#0]#\N8]29WVGF
M\TG??7&_^;Z_C?C0EMQ^^FC4;]NV"9'B)*,)2%1F""#+-1"Q@B"&<8QYG,$<
M>T4^GI4X-1[XL%K> .LWB%;[7H7="N5^[' >=1PG*B>Z=MW8 CPH!C2%9LL5
MPRS-."0Q36:/NA"K%\%]5_)PR+?IQB^!OQM3!\5T8-8^\.=LU+V*M@J'8W!G
M; *Q^7EYHS*[L_G/6=[]1C_&+XMJ]L5ZN>OP)2:H$FG.0892&ZA*#;\(G@.2
MLT2G"4^3S.F(=V_4J3&W/9Z?E]5<&A;YQ:!I5LE-&(1')-@^;-VTT!N,H0\4
M^^'@/.6/VMTUK<T-.U/:_&L[G??'&F7*'E5_/2V/__*"Y)+;U4*]O[LO5H_U
M0U@["A#+2,(8!P)S#(C*;,4]^_U/M4XUD@03[9U@<ES6U*;I1M5HOJ-KCYR2
M$]"ZGM $ 6SPTYDU5KMJ#N"$<8 C9(+)"4GC)YETFWPTT>3,+6%*].Y4J6V+
MU,YRG:0L5PKPNNP0SS"@2@F@,Z8%11RF*+VD7.^AR*DQQV[I7A6B=.\1E-W8
M(RQV Y/(84G?'XX403X=>79Q?=_3Z Q4Z_>(P!>M^WL:@',U@#ON[.D!LG$L
MFTW']?^E[EV7W,:Q=-%78<3>9TYU1*(W"0(D,/,KRW;5>-KM]+&S=D5'_5#@
MFM:,4LJ1E"Z[G_X O$A,72@  IF<B&Y79HKD6NN#\!' NMGFZM6.^@W;?/UE
ML?IS%^,Z2U/#*0PI4,@" 92F!'"6(E#D3,.44DRD5TR)L^2IT4X=2L?D?SYO
MMO7[=[M*ULI^%^8+E2S5-IDOQ>I1V;_;WX2QR&:V?9M+,[_XC\Y)!MN9[7F$
MX3QLCD<90PS&T$<:U3CL#S;V6M\D5N_$*I[L-(]XMN$+5JPS#F>YXYYU^,)Q
M=.;A_8! [Y80ML3-YK,2:O[-QNQ_5-OF0'U6:(50#E.0EU+9PN?"ALQ1D)6&
M]I3(H5EE>3FY>H1-C=%:72V+-<K>5,RUT@E;F!&P#>ZK/%.Q5G*^31:KS495
M66/_.RMHY1$V/Q!/)UG?<#CZRB*!/+3+K,7W<P=?ILW0)K<OX'U3P_O!P+MS
ML$7TJCF@%<NYUB=J7!^;@]%'KC:7>ZZM=-?3PJ[..U-FQ253G8(,XM0Z@0I
M&>4&;$D0HI1"1<)*UUT2/35^ZM8AJ75/3G=_W%S;V_SBH+CQTC!0#WU.?(3R
MF1Z;EU&^HC*<*V#12[U=%/Q*M=M< 3E?C,WY"=<51KE?W8K_?IZO5=UZKR[+
M))[7U5INQB'#DA809"QC-JO0;!\-L0%9E"*#'*$RS=K:*&Y\YB37:7Z]K(PR
M,)FU15&JY=/C3N5DL],YK/I)/_QNO!4/TI%KH)B==J-QLE<Y^7(9TN J*$X0
M12Z$TB_S56JA.,%PKAR*V\U7%D"H4[?VY<LJ3VZ>:R*UT"!'*3=KJX(!PTVV
M@:=2!%)2EGZ'Y[W2IK:<:M)#.Q7=KBJ.<A)@QW52+-@&YAEOQ,)+*?0A$;NR
MPDE9KU-HH<_LLW47>F\:N0Q#DP?Z[KM:B_G&4ME!$FCSB?JTG@LU*U61J[S(
M@>)Y:NN20\#- @GD!:(0I1HK5?A%^(VDN<^L'"=.<)>TSIJD]5WUA*135\ZH
M_KHE%CR_((X$.KU!'WJ7>GUYA%T!A([U)VH?M @D%003*'H0-F:O7=+ 4^O_
M&04+PH8B6CF"0/%AK\3[^>-\^7"G[XU:&VWK+O^Z6LF[=5/;O5KN888UEJH
M,M.%>9UE E ,)4A5:EYSYKN$_.+7'&1.;55=JVPW]:W2]F>KMD$[:10/6FF[
M#(#;ZR(RK -3?11$O>G9 Z-(U.HB<51:](#@D-)\;@UH%_OF>;-=/9K9_%D]
MF:^:X4,C+4OOUG]?K961:E-&/JMO:OF\3VY6DB/)"Z#3$AEJD@CP@FD@((-9
MF4*<<:>XE4#Y4Z.IG05)UX0D2_\?.ZFL&=6$JW)O6DL\^I,&#% _=8T ^\ T
M%H+XY9#>*-![M(0==@A&:@4;]<OOU_LU'+_>GJ\!CQVOUVNXS2]ZO%[QF/ J
M.+_,-X(M_J'8^A?SE\T,<84*1B6@YIW15L'A'*0<X8)FI4 D\ZV"<R!C:J^*
M79F76L_$*II4FOJ7P3F$LY_T(X$T,+$'X!-4!^<, E?5P3E\YNAU<,X8=:H.
MSKE+ ^O@G/>&WSZNUMOY/ZN74-/;YJ!)38XQ9"2EH"!2V,6D!B33&.""<5UH
MF5/B5RGG"F6F1A?=^)&N\F%M@JX:)K?=\%C@#TQ#%V)U3@W%H(V)8L :J\3/
M-:J,6P0H FA'98)B//-*[_N'^5*]-S]N9E#C3)9E;L.J,X"X^8FS,@-*ISAG
M)&>8AS4BV8F8'"'N*^];'9-*R5 O^QY(3]=Z$#Q#.W'\D GWIA\9']N%OA?P
M.G[S(P//.LN/KYQ:HX*/JV5="[_N[SCCB.D"FR56GMK:0S K :6T *DH<B%R
MCB3DLZ>JX+*Q<KT=V$_NJ[_/?#NT8KBI][-ZF"]M+F'"V:)*/+!>\<H3OIE,
MMX'#;P(J<T1+2 '!J<T]M%UZ4RD!T8P3R"417#;?A'=+Q_#1"7\/6AL&#&A:
MRO]A7X&!XR&&'-3I1T0X-HS886!^K%"80%!$Z,"]=EB$M][_,P(C0H=CO$X-
MYQ0(+=11G3M_5H]L;M^JG]3:GEE;5KWCB_G#;H<E;,_5QCGZQ19DTC;WVW9_
M-.]\VQNB<N-+I$1N7F= I-J\Z 3#@.;0_)/"@N<P-_LG[E?4(Z9Z4]M@-=;9
MY@2-?4G'P&1OX4W2VICL@PJZ9MXDE:%UIYN0&(W(WP.WM]WKC>[ K[37&=B
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
M99WFN67?/?,DG 9!9A#S'%&@4!5'J%/ %,M!KAF&A=+$_"=6YO54\Z@O#L(
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
M\+(,$(_G@<S0"[..Q&FLQXXA<%Z&G;@UC(3L=Z')N[7!O(H)!DI4%F;'B%-
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
M<?O?';:.^[1>/:GU]H<M-;R]74K;6>G)/GQ_^E(246A;52O7C .$B@*P3)9
M8%4B!'/%"Z]>&9=%3HW)6XUOJIK?VUT3L4KK*P[&',!W6P+&A71@=H^ IO<"
MT1V@2*M%!X&C+AW= 3A<1WK<&;"H_#O[8;&KEJB?U5-;^'R],HNFQV8;Q G$
M!!;*$!"& "G, "5E"I3FB/,T2S/E=+3O*G!J]&-43JS.S?9IKW72J.VQ_G'!
MVV%5&1G%@1GG(H AE7E<D/180T9&=*358_A7TV^YZ(%.[T+1Y3GC+1$]K'JQ
M./2Y+_1X[YM:/JM?C+YMU/SO\^W7MJC0N^]B\2R;BHKF?_*>?9\Q:CVPI=GU
MTY38K@B&ILLB,_O_7.>E5)SFRN_PSUN'J3%W8X+W8: _^*Y'A8-".OA!8J5]
M8F?1+DLH^=,8L*L79D/;&QN2UHC$6!'SJ#$8PF@'D?X:C'Q,&0S1\2%F^*/"
MF._-:OVT6K.M^GFUE$WT6]7,LGJA8R9XFDL*LIR7 .6$ LHQ 8;L$,-"EU)X
M[85[I4V-S7;*)MQHZTEJ_;BZT5<TM 8FJCU05M%DK^D K@\G3"(Q3[^L43G&
MR>Q#-G&[R3\D_8T]DMMGS4B<:2XE2"%59O5CT[4Y%8#(-$=ER2'63AQQ].3I
M\8%1+GEB#^JO[I'G+['JG_=7(3#X'+?&QTQ*.6MM4'CYRR>-%E=^TH!N0/GI
M"ZX,&GV_?'K>;CZ8Q<(B;]XH(L\DL<D@BM@]B#3O;&ZV@R!+"8(0*T5SKV#R
M'EE3FY>5;DD>&*1Y DNWMW,DA :>M]W0REK1FZ0!;("WLP,FL8,A3TAZG3C'
M\R:?#6'LN26,(7Y=K>2?\\7B_>.3D5&=6J\VFYG$)>:$I$!FBIMEO!" *XA!
MR81&:2XPI5[U-D^+F1HOM%K>)/.=GLG"*.K'%&<P=2.)ZY$:F!_V(.U53#[T
M@>1-"OT81.*#,T)&I8)^0P]9X,+5$5K$W2[E9[6P^?6WNWSMW5(4*D93SG.0
M9FD*D% (T+S 0)24<$6U+*A_R+*+Y*G1Q,M^:=8[VZB>['5W6?A>.1ZN)YH#
MH#SX.68<@*]K5><"UA#]ZWKEOEY3.Q<X>CO=.3T@K(+N_>^S3/,<TU2",H<,
M()P3P(N<@U*6!%)(D6+$IX+N_>]3HYU[-O^3.9;YZ0#33Q-AY@X\_^]OW_]^
M^S%>S=R]<5?7S#6/&K5F[E[UPYJYG4^N[''_^VK]7^^7G]8KH3:;CVI[I\V\
M5>MO:C.#B,H2JA*D')IWODH+0)@N0*IRKB7CK"BDSSO?0>;4IIW5%,R7X,EZ
MCY7O7L %9+<7>63H!I["G6[P5E\;,=MH7+6'M^4*6ZT':!5_&:+8'>1[)+Y.
M8_G+$)SM-^]PZR!!$_O:GR7*BQR6 @CS[0*&@PK A61 %RQ-988Y*9U>YKZ"
MI\8]C=Y1HR-\*ZP.@=W@^X>+<1#)'X/41/4%:YR(AU>J9>H+AF=L0[12U.K!
MGJ5\5D^K=563J]U@\T*(/%4<X()1@'+KHC0+(B 106E6Y 5&3@TK+PF:&NLT
M>B8[18,/,\Y"ZT8],0 ;F&J"L/(OM7P!B%AED\^)&;<$\@5CC\H97[H^='MD
MYIK:;-]7G;.:RJ)F-323.I.Y4!A IB1 A=D849QF0*=<9!AKAI%7#O<Y05.C
MA5;/MI?83ZI6]2\WML.8[[;H#+BN>Z'K(1M\ ]2@];Y!Z]T.K8\]: 7L>?JA
MB+;1.2-FY-U-O[''6YH+UWL>-S9]$F;WO[^=B93D9A4 0584 J LHX"0$@-%
MF()<<RJD4S1W]Z%3F_+UD6/R=K58L+7CR6,7HPMGCX&6#WWZ6!EMI^F?C>41
MCBA.V=IW&-E<WIQ&-K]UCB.[CQOG0/*$ ;LCR5.?!:;;UM78-XVGX'YUS[[;
M1?_7U<*&,?^R6I^N_#V#1&*M<P*PQ/;((,\ U2H#LD@EU5SCHM2SI7JHGNJ1
MBQNHC]/WF=;?YR.MAOQN?Z_VP8WZFV3=.-:VJZI-:-T;=*.VVT55#&MC#^K4
M?S_;FK&LZ@+DF< ;.IQNZX!!1V>D9-_:A!N;A)%T=+])+C0IB)C[>R6*L3*"
M0]48-T_X2K".LH>O?5X8SWZ8,SY?U#[895T QTHT%/2NFNVS4N!28D:!(+8;
M8EE0P#@L *.I4K+,--9F>6,[DK@1Z26!7DN?G=@!F;)JMK+8:UW%(6PZ>O_+
M_R(P*_^MH4<_7KP(OQO_Q01U8)[[<(#DNW[4O$G,%8I(9'51W*BDY&K\(?DX
MWQ<6EO'EUQFA*LVIV2#)%*4 09H#(C6SC8U)D7&*.'0*&ML_<FI[I"^&I=G3
M:NWHI>E@<V%W%&3QT,>=[S_^>OOI[O.[>,$9>_NN#LXPCQHU.&.O^F%P1N>3
MZ^*R/YL-:-.5<<9AGF-,,2@@T@ Q1 %A90FDRG%&<@'3S,LK>D+&U"97JV+R
MAU6R[4_IZ84XA:7;^_5*A :>C+[@!,=AGS _<A!V5\*K1&"?,/%<^/6I2\,F
M^?W\T;P\[O2]V=1MM%K?:2OC;OU%K;_-A7J[>F3SY:PD!2?*S/-<5Z6B>0J8
MR$H <\8SE68XQ5YQUTY2IT8$M=+V-*)5V_YL%3>()XWJR1^U\I[\X#8,;HP1
M'=RA#SOCX.I-+5XX12(;-YFCTH\7#(>$Y'=S8'#$R1(ZGY5]M/6U/F^_KM:V
M>?C^FKK=23:3:093R5)02DULTU8!:&:;=&<9S](T13S+O,(G@E69&IG5:B7K
M5O5$F[FFG[?/:V7^V"KOVWP[?*3<J&T<_(?>P)PIPW63[ Q)]I9T+XS=1.EZ
M.&-%?80K,FY<R-6 '46.7/_$P--7MI1M!3R9R=1NY2"A J"48\ 4%(!3# O$
M*%&I5UNF_:.GQGI6,\]3TCU,CN>A0<8/??)ICSOC9\X?VQKK:'/_X'$/,8\,
M.CJN/+XB-+9+K"LG&EN\63T^KI:5CV5SN]VNY_QY6W6X7^W]+HV/IN-\V\R*
MC)+<[,R ^<?LRAB!@*:: 42+C&&=I8)YS=OK59K:?+^5,GE:;8UJ<[98_$CD
M?/%LV^(EFWVYIY_FR]KGO/F+;P#9U2/H1BGCCLO 5-0Q)JFMJ;W,FZ1KCPT&
M>-L.UCNME:CR=2[XHZ/F\<3"/%KTV]4*C1PG%PO XXBZ:$\.H^Z[]0-;SO]9
M^<#?K):;U6(NJU]NE_*3T:0MZ7NGCUN[[7/G%8**PLP6)V29V9NB$I 48NN@
MDH*5:2&P5PQO%*VF1N!=HVZ2%V95+MRN898@3C1<#*^#$&><W3A^]-$;F.;'
M&CAO8H\*="1NCZ/3J/0>%<9#AH_[\#"2?_?XM%C]4*HYR3P= 76[J+YPE2J?
ME5@]+.U6_9-:SU?FNLVVTQ]70%V4DFF0*B+-$EV7P+!_"A2CE&M6"NE7SBJR
M?E,C_GJEQ\^M]&P-Z2J27E9L\H8]S<URP!IWTYR27='R)?;0N[T!7G% AS[P
M[%^UQQI+[U?!0(A'>BG$UF[4U\- T!Z^*(82$Z_4*6R[KJ92:U84 ,D2F36^
M^8E2K8$HS >D2 DKX+6E3N%$#UVKRIWP^E*G\.I2IP$(#<R-YTN=PI%*G<+1
M2IW"J90ZA?ZE3@]O"2A 7O=T_F6^$6SQ#\76[Y;RK5FTS@J<R4Q2!(C(!4#*
MAKE#P4%)I&!I29 23CG^?4*FQ@F-GDFM:&(U38RJB=75HT[Y.4C[&2(64 -3
M0Q!&?I7,+X 05M3\W$/'JV]^P:P7I<XO71NV%+@551CNQBQW[7FDV;>:OZR?
ME>R$N[\U,A>KS?-:[>OA*$FHH&:%D"I&;%<F" B2"JB4B91!3;A?1?1 /:9&
M%XW224=KO^5$Z'BX+35&0'E@KFDM2!H3JIW8"=23O1D#E2^Z$LM(RY=0+49=
MVEP)U>&RY]K'!<:AV)Y0ZNY)K9FMG/+!-E)N!?[X;2F-0*N5DN^^VUIP]8'
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
MU'CS>$N<5^;.]@(OCB?=VI&V6_UYPV]@)KV<3:@M\[PJ0%V'Q)\&5$M?8ZM
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
M._^DO\]WJJR<\;S1@9S,WZ_-[<:Y2K!>+R4$1BK#$!$B(,,L@/JW:1#@@+'
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
MT#N SM77N*VHMFW<R"$LUG!6;64VM4S:T/'K&*B4#&*P4EO=&$+W4S3N6\5
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
M'Q>E0VCMAT'D9D-.K&'(LV"0=4AU6#%"9-("%YG'H&1VKGUV\,[DC=\AM3-
M[J^T_?'HS_ XQP\U&Z-1^M:VVGGU?G%'-M%FK\7K(>5;)"FOIFL\G]AW)H:W
MF!8?YIM/.9,($\EH*Q)X54@B.F][NJOZKF&$(+>^>0;8L#R-W^GUT;#?%3PZ
M,."[U=SYK$V0&@Q&XHEQ!C%Z#=YZFQ0)O'U3XF;%DH/V;WPTV#974P?0N]J)
MB/SM6&RTD.LM'I%:ISO1+XFQ7"OZ2O"MGUH/Z #U3_&D=;C@.T#-O7D'/-ML
M42EPWJ0Z7B)"-#8"17D1G?&LB/ZR0?XI7IV:J>7(1_QG\S9NY"VI""Q(;ICD
M()Q 4,EFB#PJ,-$F(YBR0K4>HG1@,@C_YWD5.EP%38$T0O?-DW=_>_[R]1_O
MKO+3JN?FQ:<_6J?-V_EI7X:];6_R?0RE*'2&Y5! 9:ROA#Q0#!L)1,K;R#1&
MD5HWV[V/G@9^4_W,-\O%ERE)[M=O?Z=(Y<7\8@;B25I/OVPZ&]TVN^E[IP[+
M=8ZR%C>@IW,_U#M]3,"<\]QYC:*TEDH;RCO)W3T6:;=X98^MU@[<N:N^:'2A
M%,,M2)W(OAM)Q+.0P7$*G%WVQ35_[NZH#>P8"+@W--A''1U@Z=+=3AT_1Z+<
MY-:_7]1+FGF:SO *>^\7.TK[0K*QCNGPU8^MTS]4Y *\(<FB*\R[8KWTK>$Y
M-$_C)A=W@/BN0-/!)GJ*M'*:;B0\X8:G:&MUG#>LMO1*X*)Q(!D*+;27I7F'
MJLOKCVN.^T+&HI&:.H#8D\6*O*??%HN\.IGG\^OTU3N*]$X^+9;KZ7^?<55I
MQU 0@E.TJS4%D,&4"$:SXB,+FARMYI<YNU VKLWL&I8#J+8#P%Y(ZV6]\WA;
MIX6\+B3(D]4*UY<9NYCVG$)(R@7P/"A0B2OPN=Y8.!-BY-XI&QM#=U\:QZW@
MZ!K$@ZJ[ SC?GE$]B9FAE"9!P1J\ZJ#!.6(*&>/1BQ2,;9Z?<2LEX]9J= W-
M!JKK ( OYE](O(OEMS^6TS4^7?PYG[#,I>:2 5<ZU8[TN79T)1G)8@(W(:-N
MW8_W)A7C5EQT#;PC5=8!Z#9/Z+=%EN>W>!<7>Q/D0A8D(VX<.='*EP!!$)\B
MQ>RLDB:FUIF3.Q,W;K%%UQ =1L$=(/?FH]L%E^<92Q?R4]I$AS$"MZ* 8J%
M+#)!\BQ*.@;0IM85Q+M3-VZ=1=?8'4C%78+W)*7%*6F!Y([3+YOV.EX(9CPO
M$&H/;Y5K5<EFS 8:;VP(KL36H?XN=/76S:,-)AZ$WI$*ZB(-^"976P^&MNQ$
MARB#EH9@4>M&M2#71;(Z@3N@4:E$;#[Q_%Z">FOQ\4A .U0EG2+LS1(_AVE^
M>D[1^>W R?RLS>#F]F UB49HC#4K6%??(]).\EASH61*,266,F]=4'88I;VU
M^'@D3#978J=@O>8MG_%E1<X<G86XJ>Y4B1QCKPT$KCBYR4EA\]J&W2CKK7W'
M(X'Q:"5U"KZMA_$F?-NX%\%S#)G$I$5--, 4(>H2@>F"R&0TV0]O%*\1U5O[
MC4=V_@Y13:_AQO*4Z)B&.)UM(K9)T=Y++AA()7/MYIG!6;+F*G')K'*&N=;=
MEG>AJ[=&&H^'N&,4U"7H-H9[ZT-L.?LVD<Y8;4L![80@OP$1'!H#E@?FN%>"
ME]9/++O2UEL3C,<\88]35)< W++T%BG$JG6\,>20M0,F69W^@;4L44E(SO B
MT9'T6M]I/TA4;XTJ'@ERQZAF1*S5K/][N/EM\067\WJ]^MLRS-<3LMZ9!<Z
MH]5U!SGR&SP"4N"DDK.2(JB'RACV6[*WCA)-X32@]+NT7U=S,+X;9I5%TH$%
ML-4)55PJ\)SV#M<4>OO@%7>M)^GM3%QW+20>ZPQMH*L.0+A[,O*$!5LX!=M
M3JD"944=#,(=E)Q8R;*8E :H4]B1NG$O[CI(Z1Y(D1U,$[Z#LWJ/OMI#N-9&
MG15%\AEI=Q+7 ;Q(BF(L5KR3%'SIUNF);2CO9";((Y5^#:G6#NSMF_!MVX<E
M_=?I=(G$/S&U_E8;$J]/YKD6_7[>)&R8H&7@JM#V+[7NUW&(@<*Q*+E2Z#/S
MMG7TLCMU71:-#8J=Q:,HLHN[ZQN\_1Z6_\!UO1I]A^ET>7Z,F'I+JA 8UGD7
M9 IJ^Q\&*=@L&-D%W[SKZ4Z$=5G=-2HTCU9?'ZA<+A)B7CTGF?\>UN=\;)XN
MS_BE3?<DS&:KU^7D2YC.*K_/%\MWX0K;Y&,QY)%.*\5K6P[':@)G@:*]U):"
M )-;QU)-"._2P7U45#^Z^CMP%W:7^X0A'3-U>I:J2? J<@W.VT+AK>(LH2S9
MM^Y7MCMUXSYE=X#>@139;WCV?#H/\W1[TJCCM.\H!H5$C)$@/0/'0[V8\=XZ
M8:7!1^K"<0^5XQK<QPZ[6JFK YMY^:"H?;*)+WQ=SAIT_7U.:GM!WZ!M_J4F
M.-U>6[299D0_-CNMK;PN3SF8!%V4-BC!HDAGW9A\L1RRYRX5XD<T[XT^*$-=
M!G+-T'B/#S$N-'K8)^=^$SE)W_LBD[GYWM2.CJ+"!/$ K$X=5R73450G>S&#
M*OA25-:M*RL>IJK+^&XPQ+95TK&!W/OFZ'N+FZ'D[Q?OP]<_INN/M?<=B;%Z
M[K>7?1;,1=0ATR4Z6:N-4Y4F0BZT"*/0U936?NZAM'89LPV-U$$5V@]^WU[$
MG:_+R\7\ WWRIZ<8UQ.9*(B4Q GG]1&'483IE+-0O,W(T;K(6P];NXN6+J.N
MH?#71"%=7'3M+K@)C\;PG)!X2[1W[*;=;$30P0>,R3+;O+!B=^K&329^9/@-
MI+0. OQGI6"B./395W(^YA_P+0']];PR6_^KSQQ?PNS,\F^G#]6_V S8N/R-
M2S\Y\=[0UN,&M*Q[LF0)7F(&*YV3A27+6>M:M '8&->^#G9%,+;".XB-CF+V
M;$C&S92A\YCQLEC/1#T)**.*RD$,)9.VC(3H3!61=B([1^:A]:/$XW(X[E$P
MV$[I&"8='!S'68SD1"C)E=HUW]6A8!ZB+X+T(H*MZ;*H6L=YPQ\&@Q6R] GQ
MO91X9.]ZDL!RW0%N36 EU_',6LB:9DH[U04=0-JDLHR66/_Q<#M8#4RGN-U'
MB9T,[]CV=[EX49SGB^!CT_3E0JQ&%*.]])!8?6"T'B&HY($Y:]!;0_%R\Z!Q
M5^+&+8\9[M5M$.6,71CS9..@7(R0V[0-R&=39LF-.:WD_'JZ?K58_R>NZ["Y
MB2U2Y2PRY,+)@>')0N"<0RA:BR(D<WBM!O6.^IA]5Q[YE6L8[2\>2Q4=!&37
M&I*^CNLPG=<+EJV;_'RQO*LD0W.1E!8D15D+:V4A5FOLF2W73 3EF&T]P^@(
M<D=^WAH4JH^MS0Z ^^[T\^?9YDP)L^V9\F)>]^R93K?BU%ZH8$T&%F,MOLT(
ML?8#\EF(X"-Z95H_&^Q(VK@EAH,=R4,HI@.\G37S>Q^^XJK:^5>XGMCL$)VS
MX$21H%*(X(QBX!(6YQ5+/K6V?S>I&'F T1#*OEDC>(SDN\ .?1;9_2WYNO9
MR<R!-HQ,+3H%7KL$.DHE4I2LL/;]B:^0,'+MTZ.@YG"9=P"9JZ?T-@=@$K1Q
M69%-EMZSLUSKF$P S:7CP62M1.L0\W9*1L[B? 0 -=! !S@ZZKKF0HZ8O',N
M)P@HR-Y*DF@TY!1D'87Q63G!6M=X-B%\Y"+Z/B_A#M)J)U#>U*)<Y6;])"R7
MWVB?_D>8G>+$Z<(I>/&0-S>,3DH@,4?BD?L@I6?(6W<=W(FP<?VT$0!S"V3;
M:J\#2%X5V9-Z'31?3Y@.="3P EQG0SM;"8B98GGAE,@<"Y>V?:;:+82,Z^2-
M#[GCM=,=Q.HUTCD?5IED7!# ."=')'@.D9=49U\QQQEWQK<N8[^+EG&=P=Z
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
M?W>,W B3ES9OML\OB?19^K8=9G7U-#/LQ*7]/GVV24M'2.(<$Y:8H*C345R
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
M0E#6D?U& 9XG"SR3RY"53ERT-D9[$3;R'*2!4=5>-QT [EI(5\N%'&KK0H'
MD,@OK-25V XP6.2:S+=J/HS]#@GCYK^&!M$I\NX +L_GG[]<TH^[RX;$++U,
M=< 0,E#("?4L%F#UV@]<L\A;[X9X@)1Q\UA#PZ>%_#N T:O+Q6RZNEP@B>C5
M]._ZJRO[*9G3VD:*@)V5H&0A2\JX!1EU[94+1I3FA;\/4C/NL/ZAP=1("QW@
MZ77- W^:7^1[+F0AA54Q1Y"A3K6LV\Z\, 5,41[IR%CI16L_^V%RQIW#/[CC
MW4@/'4#J05&]OBZI(YN;DZB;*Y0F29G@(21'H:[4R<K, _K6/84_IVI<'WS<
M%-1QJND9;+\NYLOE)(BB1%V1(H2M02Q3=:,HV643E1'>B9A;F[#=%'6:/CA2
M__O"ZW!E= "M9RE=?KZ\J(_9+Y"(2--MA_J7"UPK;):??9XO5M/_7O_Y@\Q/
MHO')622#K232B:V1"C,:8N$1<XE9J]://*UH[S0OT0:NHRAX_+J*^CS\L&C_
MP-7+O]/%9<;E\_EZ6$.JS/]6V?](^E].#'&5><J )1*W2+\*4=4MS8K^6#.O
MXIWA@#^^?)](0Z>9CM-@>4Z]=+!L[GXN-C>%B2YP3_&32+Q.(!*F;G.A\^43
MDL<CE&R^R6<'.9TF1MH8P59JZ.#"WG5V)EF'1.=#UP5!M6; 27")&4C11Z>M
M*3HV7XRS@YY.\R,#^X&'*J*9F6I>$?9^-4__5>-U0F]E;_4MS/+Z#W^A0#[7
M;"/.EAN%-I[NU.K3C2K+!I%$H^JS#3W7)4-::A>*) .&,M4$#=V03!D@.%I7
MF(A>M"XU^YZ"=G5E[S_10?]1P+4 \^,F>?3+MYN_LZT ?E8K/3=9!*>X"MY:
M*"CJZ$:CP/,Z8K1P$71*Q8?6;^C-B!\WACX!4P^7H9U3G1W<U#?[2B_"<DGL
M5W.QKGH)63(6Z<;1:"0Q$@MX)0)DET2HZ]_1M1Z6\R QO=2DG14<=R':1%,=
M0.XV_=M\?10^*FX%"!<$J)PM!!LDA)*#+)ID5%KG97ZD8F20M5'OW9CB-%GW
M@);YY\_SV9J!J^J4Q$-() 5M-477=6B?JR&VBLB=9:PH;#UN^@<BQL7*J5K]
M\4'^!!%W@)&UR7V'7RX7Z1,9WG7H'#ZO#P^S04M?!XN$2($S?1P"*@&8;0BJ
M!,^:YR\>IJ:7=ZU1K[$VNNH6=5<OT);%8.K20>4#Q=8A@XO%@Y3TITF%$'GK
MYZY=](Q\MS72^5Y0.D(!(X)IG6I^0W$\F5W2*%M;X1]XVIKEA#9J8>OT14W&
M6(2ZW#0AF+K$)F;/B[XSV.J!?/^>'^P1-<>H=SZPK,?&S^_A6[4&._F10>IH
M>28'P=?928X$AMJ 9\YP3X>/.[87=O;XV,CWW""X:2WC7BZP76[ 0U[ 36Y:
MILB+R0R<U0R4,0A.V "<>Q%C9"6SUE7\IU,][IME1V[8^73? ]KO/;G/+E>?
MYHOI?V/>++K@=(BS+*5.@D^^5G7531>Y*$@B4D"%3"3=>IK!GJ1U<!V?$3$_
MI+_:JZ\_5-:1$>]P-25"7ES6"8AO-Q..JF"7$Z.*C#X+\%&RVI<3(0@5(47&
MDB0C(&SSIX(#Z.O@VN\&G^T4^6A NAZI.=$E9HETZM )5N<9(WAER8/6J#$R
M&P5KG9T[@+R1K_[' -'#U=@?0K>WPSNL/G]M=[R^)F[^SM6%H9-@A9.77HJL
M@^JBA,@HT,LR,1N*EB*VGA9]/+7C%D#UA=^AE-SO>-\#"CS>X7*UF*85;O[[
MG[/IZEE:3;].3QH.W): \Y>]'"J5@8I?7&$Q:0LAD8%5V7D(VC$HSF8?O,O!
MM8XP>BU^,=SSZNZ \0Q!*5[?-@N9 T<A;"G9>M_<^#[-XI<#,#5<\<LAZNS
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
M7A\-C:=JJ_<']5I ,)_5BJMY6?_)=E+1R>_K/_O!39_;#^)BF-=W1!,5A9*
MR9$OENNN-$P&)$.#.I7 9.O9,6U?W[\_!E<#JTI.*6.4@.A#Q;H KYB&:(V5
MLH2<3>LYMO<2,K:??[2N=UN;8\3<P07W_M-\L:I7\YJ)VB,QD3JYM!9"IC!$
M^>+ :QG76P-9<%)HUGQVT@]4C.VO-T/)B0+N "+_&1;3FF2Y82 XE2@BI4 B
MUXI>'FNZ+EBHDZ)0H0E*MP[O?B!B;)^Z&4!.$V\'^+@A7'/K6:C#PH3WM=L^
M0%1)@-!6*LY3"*9U4<YA>!C0JVV&A^/$V:QH>2#O]*HG?EY>7:XN%[A]LMGV
M"RS_)#=NL?F;)_NKAW^JJ0=[(J<#^;0.A7 5B]PD B0GA\27 FB5E\H%0F?K
M),D0%:7?NUROR6Y.+Z:K;U>RW20<<NT$>$717KCX!X;%A!<7-5H-S+A0UZI1
M;,EUAFRDY-DPDWE[JW0LM7UYQP>@9I^TY  *Z^+^VX/3%Y?X!QWM#__$BZ_X
M^WRV^K2<.)]D<4&#4-6^IRK>.FX[Y"1UB(&QYHLACJ6U+W=\:%B>JJQ'!,IZ
MX#[\<SX1S%N5/$(J)M>)A0*BX08$JH1"U>"U?=+C(!+[<OC/ ,%C5//8D$=0
MPDE(QK(B'0D3)2BK(L0D.$G4*1V2=>U?< XFLJ_PXESH.U@]CPQ_K^:7BTDB
MYR+RK( YP>A\*3I?N3"PT@9;;-1.MUY[?RB->Z%//S'T':R<L0>*[F3NP_P7
M?!NF^5FAKUVS)XUV1FH%!@.QIT.NO1(<E&(Q9<.]$G=:=!^8+GKXM_?"E.D8
M4^>0^2.R9Y/(F-&Q.$CT3U!!:_!")DA2>"M#'68T5CBQ%]9LQU@;5!D=#!S8
MR=>?L[Q].\?\\N]$?W7;CYYL*;;6JAFI>)WL44B2G"QT(?D&;Y(?(*MT!*%[
MP<\]=O@U4=/A6/0;+,[P8UV:]&&@TIMK+B>N))V5+W24# DQUC$,=4=?1&3*
M,B5]\\>G!TC9"U;^$<"JA:@[,&(/L/'\<E'E.8G22X9<@BV:3#(K$;Q!!&UB
M"3:4PD/K%,=NBO;+];+'"Z!C)'^J 1H227_,9VG+$N9"1T'0A:ZEJ>E ,J>!
M@A/&@_<QFB)-Z_ED/R5J/SP]AL>#MO)O./:_E]?1R9UY'8.^CT[XR"^D=[F]
M?B/]M^,%_PZ_XNP2G^6\GOH:+GZ;K;=-K+<!'_\$O<^/;23,@SEH]+2\_>YF
M:-6F?^6OZ>K3\\OE:OX9%S>KXU(11I4 3%I-WH..$#6=4R9Y9-EDDV)J;"+W
M).WT147KSUS7M]_:5/(F7DP_AJM%H75CR8?I9_HK=<O]:KJL.KQN6N.\."_(
M0EKIR89I+2 (P2 [HP,3V3O??K-1"\K'?:0> G\_;C<ZNX8[2#6=S/7[55BL
M7I ;MN[BYQ0AH(X1C(FD *$8!)DRA$#L<9?J,W]O^/Z.@RYP?E8,MCX&QP/B
M*1R'U]==+3(9)S5:*%)X4+X6=TI=&Z!\D,&2J=*MB^_;43]N\<=3. ;' >&Q
M'(&)%JHHE0)H;APHJQ,XCAI,,G78!DK)6H]TW(NP1VZ_CT3-,> ]2(6/!9?;
M+K_P$2>))<D%-Q -KG>.9/"UT]XXS7,V/ G>>C_,@20^<B-[1JP>J=8.4'MO
MN+)<XNH/7$U\D5QJ)4'Z.J(\, _.6PFQ#B</=&D)WMJ([J)GW'*[3O#83&&=
M@N_FJ4>KR#DW%@(YZ$!N>H)82["E"RA#"3FPUL4#.PD:M]ZN8_@=I[+>\7<M
M\*O-7!-47H1"P2'/=*94<0RB5V3IM46O4C&)M5Y><!B%X];D/0:$GJ;4#B![
MLI W^^7XQ$7RHH-TX$7=WU0G6P1I$*PV)-UDK&@^<*L5[>.6"78"\U& T._
MD3U>GHY[H-SO!Y_O_6R(A\?KM^WW^'']WAEF^>6,=/9E,5WB7].,M^AH_3S9
M[N.-E#"0-!H]=6Z)>H=?YHM*Y/7;DC36.,&03(BRH)S2X# BL!RMQ<293*WS
MN0_1<NHE=[4[:_.#:Z[T2A43@2D6ECT8R\A09OI5$'F]=(C[@E(YU_H!YV%J
M1MX[W0()=Z^51J+O]Z(XZ'1?_^5WN+PDD,1OV__K7/;NIP2,8?,.D\K0=B\%
M%F-P!7A=?Z927<\@N01'D!3!%X.I=:_44';OJ@J)'+4[7[@E_5^NI+UY1(J8
M!3><@[6%V#<E0W2EUE2[PLB_%"6WSM$=06:GEO(0[/PP16E@98T\!Y["Z.7\
M8IK7;*S#E?5[N4J(R29.-XH71+>7X+F@X &9B8)QB6&OT_:3@?#W?WUD% VM
M\'E3Z7>'G^T2'5=D'487P"6.Y$84<B.D2Z"4BM:9(,FS& 1!8RZK:J73G1 Y
M0L =9+1^<#VVJQ,88XX[H\'(4&OE#/FS+ A(.I&\8O$Z##8<\GM2>H+,,3I^
MJ)+]!(%W@)OWI(+U.N]?+I?3&2Z75^RL3U6D>"2(%$!(2V*)=3@ BQ:\DC*P
MK+/US:/A702-^Y9^KJNKO6YZ -HVN-F</*MM=DPKR#DH.F]8GPJ,IU_5,9DF
M:9\'"C=Z6+;84+%W(7.TE,>>L?!V,8_X/"SRE3"V]C0[C%9P#8(XI^ "-7C-
M$J0<K"^H1,QW4E4/#%)XX -=Q%3'Z&O>6'AC ^#]MV6]FK]G0"&C(-)F2)+7
MAC.1:Z.J !<E9B6Y<HKOI?W[?OK(MTD;U9\LM@[NAN?S!5VDM9A\EM^L/N%B
MRT;UH[)2'(J552C5$EI6J\!X4<98)W3[4H%[21FW:.ITJ+24= > V>%_O;Y^
M%[9<)\4I)"S<U<%^= B"0@7)2H[&B*ARZWD"^] U,I3.[<.VUE0'Z/M)G]K+
MO]/%9:X)TN6RCO7('\+?$V%=<E'49=D%ZQXP!E$5"A"=]#*DK$QLW59^!)E=
M.$,-L7)_M<=@BNL F[\NYLLEN8-ENII@0AZ4$<!LW9=:R/MS/M=]J=:;B)$K
MWWK/Y*W/=^%=#8>E8P4]MIN]IOOWL/@XO:JWGT2F#/ID0+% $.?2@G-UEI#6
ML1A-PBG[A5@__NPN_*;V(&@AR2?RN+^UJ=>OU]NBT'5_'G%(_^NO./^X"%\^
M3=.S!89SO?D?2]<8I0!-9#AX913/&0W=?!07)% RR+JZ'2$9*:T+-G#7.A@;
MJD+@Q709/GY<X*:\LY;IK.6_\7:#2<EH"I:94G5)2YTN$-?SP)E%9\CQ;3[[
M;A<]?;ED1Z'A[M793/PC/\[2[9\OT^K-XCTNOD[3IA7>Z:"EC6$] XLBZ:+
M.V^ ,64EW0U9X5[#47[R,'O?M\>%2CNMSAN*N ^(+)_-\I:#J[?'*(R+CI,<
M"B.W(_*:Y7?D*E!,04Y'H=.T5^? ?CCYD8#QGF-/U^F/ #E1P&,[Y:_FE[.\
M^/9Z_G&:MAR1=WGY99N=BRPC"U)"%#6^X-%"E"0F'THRR3M>I-S+0=_]G=$A
M<:H6Y\.(=&QTO'CW[/=[6 B*1:E4!%U2I(@C>F+!<T@YTJD)2C"YWXCQ^W_^
M./'[0&AH(,*Q4?#J(BP_W<,#<F>M8A2U"EE7TEE1"R\3Y!B*$ZG$<+<2["'C
M</\'Q@GAA[(*#80X-A"V+W[W<"%+G9D0.)12=RIDRXF+@I!)6$IXGWC>[YYX
M\!/C=&\/!(8V@NP@Z7O5F/AA$6;+4AM/?IW/\_<.EA5"%"TDY. <!6Q<UH*2
M"'3=">3&Z=A\A><>9(V;)&X>L@RED/XQMCV+F43&4YU:8.@N5:&NX$!.0DL>
MBY$\>-6Z8' OPL8-C9O#X3"X':&;'@"W98:^_&SU=CZ=K7Z;$:.X-=$B&(LH
M/:!>M^<Q2R::#FI)"LGHNQ!CZ[DFNRGJ&F+'0. NR-KIHR]TO?F*BUN,,)70
M<W( E<S5%10>/-*YC#JSXF.=:-%ZHMB#Q(Q[/9X54R=H8>0<WW4U[\TC3;A8
MV_0LC%$^.A"*2"=K3E+Q48&R.4N.O*2R%Y1^DN-[D(!Q7U\'20BW$?;8B-F\
MJMQF87N8A"::C0[@<JA]*,Q!L#( $S;I)(5"W*L/]6>(>8B \5* C10[;RWE
M$:&R7OFT^#;Y\->DNH"V9BI9EG6\#,G LYSK2#J,TC'IU:Y^B26F__UQ_O7?
MMC]Q XWM;VZ0<?.]$6'01FGSDR38@<[_?#_AT7HBB@.OKZLJ:P61R0Q:D'ET
M+$@LNVS!83K_\_UX^=YA='Z@!#O0^?,_)MX8=(DH]MG4-E;+((I<IZEG[46.
MEOSH9CI__L=XN=UA='Z@!#O0^7^\FX2ZAQF9 9W=>EFI(:,4"T1+;F_0"DW:
ME9D[3.?_\6Z\%.XP.C]0@AWH_/=_3'1P8?WFY#VR6DO,P=E CHTNV2$302EL
MIO/?_S'.2,OA='Z@!#O0^;^_I9#6E!"%!<DL1<ODU=)M1%<2+R7QR"5+=E<+
MP&$Z__>WX\QW'$[G!TIPY!#OY>5B_N4ZF<&TX$I0L!L,@C+$@<M&@3-1"*F(
M>;M7)])/HKK;WQQG,7-[[9\DRP[._?M?)REQ)((%.!5%K0P7$*- X#$HGY/-
M7NRJ]#KLW+__=9R=R,.=^P,E./;K_#M<KMZ4#Y_PK_GB(E^])_,B0DH)O".H
MJB@)KXHQBD!]L3$KY+A?J<Y]/WV<;<7M%=Y&?!V\+>P>[V 90_1UM06O2:Q@
M)'BA->2HHPQUM[QH7D=_\DR5P0;R#_8$WTX)/2#JNP;P3(+@TFAPL6[A#:*
M0TM>D<[>BF"#;;YS[-$,3SE(L3N'IQPBY;$OG0?G?RBMI+$*!/KU,F4RR$&3
M03;*<8RULMKO=>\\@N$I!^EKK^$I!PAO; #<.P7$1YV+BG7A5\P4+C$.ONYI
MM]9YS@IZF\)>VN]]>,K1JC]9;!W<#0_<H*^O&URC)K0*)<&H4#? ,0NAKC,*
M=4T',<MB:#T'XV<TC;MB93"?HZDJ.H#6,?,2=,D&:ZULY#F2YT\!6S04J['@
M+(L:N>:MZ[(>W:"+MCAI,.3B$*4-W[>^_0_U'S$L\?_\K_\/4$L#!!0    (
M ,Z J591+O/]>0@  (4K   3    9F]R;7$Q,C-E>&@S,3 Q+FAT;>U:6U,C
MMQ)^/[]",74VNU6^VV P+%5>>ZAU%0L$S-GD*26/-+8*S6@RTM@XOS[=THPO
MV(#)V6Q," _&,VJUNJ6ONS_).OFA=]D=_'+ED;$));FZ_73>[Y)"J5+YVNA6
M*KU!CWP>?#DGS7*U1@8)C;0P0D545BK>18$4QL;$[4IE.IV6IXVR2D:5P74%
M534K4BG-R\RPPND)OH%/3MGI?TY^*)5(3_EIR"-#_(13PQE)M8A&Y"OC^HZ4
M2IE45\6S1(S&AM2K]0;YJI([,:&NW0@C^6FNYZ3BGD\J=I"3H6*STQ,F)D2P
MCP7!_6&KU3BL'?C[O,D.J\.ZWVI5#X(C/FS1HX/ZKS4PL@+BKH\V,\D_%D(1
ME<8<QV\WZ^76?FR.IX*9<;M6K?ZW8$5/3P(5&1@O@?[NJU.SILSP>U.B4HRB
MMG6IX+KFS;Z2*FGO5>W?,;:4 AH*.6O_.! AU^2"3\FU"FGT8U'#,I0T3T3@
M!+7XG8--8)Y]G#J36Z!'BHCG+M3J:+1W/Q9#84BC!BNZ:O+SQF[P<W,G'Y:$
M)W^3BUWO>M _ZW<[@_[E!;D\(]W/?>^,>#][W=M!_W\>O()6[WKG';FZO;ZY
M[5P,R."2U/;);?FFW"V3&Z^+CKW;JQU4CUOU9JU(.C<[[TNG=WDU\'IDV:<5
M3QK5.J[5X+-';CK7GSH7WDWI\N=S[Q?2Z0ZPI5ZMUM?<? J7S[?]=9/0W#@)
M_2+Y(OPQY9+T8"$EUUHE1>+SQ(A@1LR8FG=[^X?'.V*N6YA'H153QB!IER0/
MH,<AJ+1@$Q$#H+5+^.8O!]MFPVOEW.CO/_KQZK14R_LX#7TRIA-.$CX1? KE
MSHPY^2VE"02DG,'K6"6&J(B<J21TTUZKEGXB*K!OSJAO "BNH1_Y94#)T;=8
MF*<3^NXN<'WG%O@3U;"LL(+AC-Q%:BHY&_$BK+/0^?(R!29$"C@/C$!%1&@T
M(VEDDI2#!\""+"&"):<DA*=$4$D"6'FB$J)"J-E&.;DU@8C[D$IH,D.1D-YQ
MBZ^Y3@WO&!@#0TK+IF ,%/!% NP)Q"+H#I8PGI#I&!(4T2E^+/I/><(S)>A
M*+0$FH6,;2K,&!S4,?>M@:@W!M,4 S<GT(V1X6QY&MXZ=!NO![J<!"("<"#.
M%F H FY!')J3I781!9"H*&X.X+LO4P8Z 7!+*U\$L I,=S'@!:&.(2#E LL9
MC/2#H2%<F-UU%%$BE2   %: ,CN<MO;X5(])(-54Y^A.^$AH UL60RB^='8'
M6' 7(-6Y,6O6OG6<-G<.IX.517VW=UBOM8YUAL2,0V%*4D$@X-$N=Y_0A%M@
M 5#$4'($ .& YJ$4>HSB*!9".L:4C,],:%\JG4(_3-2)D@YA<:)\SN"U)N\!
M4(P#0AUJO'O@=-&(DP[DP.L4:%U6PANT5-M_SS^X1U12VV?NU0>K4R CCQS&
M<22"*7,)^@Z*:-7+A@S6APQ@2/3]86B !%*3U\H[&P<[%#-T=V(&MO<MG(<>
MU[#W ]#8DOX\MHO(-GR:ZNV[8-D?<D!G-I(C$BI-0 %DV8G0-G>#%(^L'MSG
M+++^<N5(N*06[AF36 "UF%45;!10 < 6K:1@]O!(IT,MF*")0 >$XSNVED6H
M*=7(06R>T):PV$RO- >##%06[!0#%Q=^*BD6*'#+&K'@,M##,:-E0@??AAP%
MH89 ?\Y>4#,0MR^O$#N%]N'NH#VK$*M@WSJYKF%^^[2\-?0A7":"(:*I5A'%
M2D0U1 -R;X0Y35@..0@"08=""C-#+K-I6 Q BTX+/!<[*Z)+W-T6O/O,H3A-
M8@"^MMS+]U7"K &6Q8]X!)1* OZAA<<86"@".Q2'<0A $=M*\Y90[N\.RO.<
M[DVH3&WB0PSP( #2+":P>GH#^9WSI"T2N7O<S(<MJJ$C)&'M6/=0I>9Q"[8I
M-70NS7%+$3R_>R3#?+-B Y6[F0![+"AQ@#<#3+8[P,S3KUOR'#H;3KCPQ",C
MKIG(!J"^(/LBD5"^GR:(E*6JO4%KJ+2!]W@(#KJT#XHR\YR:,=5S3H(IT&*:
M,UL;+/RRO#TC4MQQF1VU/) O_M\^E5\A!]^I?>M^V9F^_OGG]H_VW);ER"XN
M$A#FPV50+7(19K(7D(\UKCLWC0+?-2K1\WIO7X#*,!3&</Y$MA\J8!38S@38
M9Y6\!R1#<M68O.$_LNX\7OAOJ0#S;6RDD6^/53[\NR7\9VX).Q+X(?!5 3#'
M(P \5O %!UQF%&"^-9MR>H<UW?%%6]4MT[4GTOGYVXO0GNVBW*',AHQ*&734
M?)Y0'XV,C!]#%X WT-BB(Q8:6(5.PQ"V@K]SZTQ6>3:>5+X]TK![>[8.4((@
M@<16!&QPFXL!7?97A@R&15>@1311<L*Q2D=TE/U8DF3IFX>Q5#,.K=.Q<CF;
MKH <0/E-.,=Z?7[JEW9C-WJ9P!!@RI,23+:DL>;M_,LQ5)=8TEE;1';*;*=C
M@/!(1*6A,D:%;;Q[,L$2!;PE&\2.YYJS:RF'S7+UH(DW4PR T[!\X.S22ME>
M6JD8MM[6@M30>+2U6JX]VO:4UOI!N54_^.9J#^KEH^KC79?55NQ$N,F Z=8Q
MC3X6&H4'<=JNQ_>DED>IFUW$Z,,9=Y/]_2/7WC;J032L5N3,^5?NUQ<Z(T=%
M>\'K'^;9N[TFI!;[2;[TNY\[WKF]]G'NW=Q<7J\XNR5.J^AS8:L)VD(TRT=&
MQ6V0)?8XE>33\F<G>OGZW$H&J_T=-<\A;'[EQK'([-[-HXG\.]IM-;:%@4GT
MM_"D.Q8\(-X]]U,\;B&7;J?R"CUY?^6.$Z&TKKEC:5LOV[9\>'"M<AXM%5LF
MM[SNE3O\X#9GK-QUUK;[W6'"U^YW+F+%3F%UT84.(6!2L][EF2NAV:>[H&JO
MRI[^ 5!+ P04    " #.@*E6)\Z@+FP(  "(*@  $P   &9O<FUQ,3(S97AH
M,S$P,BYH=&WM6MMRVS@2?=^OP,BUF:1*HNZ^R(ZK%%DNJRIC>VVELO.T!1*@
MB3))< !0LN;KMQL@=;&D1)[)9.7,YH$1B0;0#1R</H!Q]M/%S6#\Z^V01":)
MR>VG#Q]' U*IU>N?VX-Z_6)\0:[&OWPD':_1)&-%4RV,D"F-Z_7A=854(F.R
M7KT^G4Z]:=N3ZJ$^OJMC4YUZ+*7F'C.L<GZ&7^#)*3O_Q]E/M1JYD$&>\-20
M0'%J.".Y%ND#^<RX?B2U6F$UD-E,B8?(D%:CU2:?I7H4$^K*C3 Q/R_;.:N[
M][.Z[>3,EVQV?L;$A CVOB+:/F4G?K=Q3)LG';_+C\/F<=#RC[H![P;!\<E_
MFN!D'<Q='6UF,7]?241:BSCVW^NTO*-N9DZG@IFHUVPT_EFQIN=GH4P-]*>@
MOOOIFEEKS/ G4Z.Q>$A[-J2*JUH6!S*6JG?0L/].L:06TD3$L][/8Y%P3:[Y
ME-S)A*8_5S5,0TUS)4)GJ,7O''P"]^SKU+E\!.W$(N5E",T6.CU\BH0O#&DW
MO49KU>7-S@8PNEQ5M@:Z0ZWO'>-@>#<>78X&_?'HYIK<7)+!U6AX22Y'U_WK
MP:C_$3Y!Z?!N[P.Y_71W_ZE_/2;C&]+LDD_>O3?PR/UP@(&].6@>-DZ/6IUF
M=>\#Z=^3_L7-[7AX099C6HFDW6CA7(VOAN2^?_>A?SV\K]W\^^/P5](?C+&D
MU=@-L<O+:S-@_^I!Z&P<A%&5W$=4X".BJDH"KHP(9\1$U+PYZ!Z?[HF?;CJV
MCG1&&0.NKL4\A!K'T*0=>Y$R0%BOAE_^<I1M=KSIE4Y__]Y/5X>EX75Q&$8D
MHA-.%)\(/H4L9R).?LNI@I48S^!S)I4A,B674B5NV)N-VK^(#.V72QH8J:JN
M8)0&'J#D9!M*ODS-^SMIK;V;M ]4PU3!K"0S\IC*:<S9 Z_"W E=3AF3X$(J
M0;Y #U2DA*8SDJ=&Y1PB $%CM0U,(R4)O"E!8Q+";!*IB$P@_1KI[-8,4AYP
MK:F:H4E"'[G%S+Q-#=\8. -=QE8801]H$ @%0@C,4J@.GC"NR#02041TCH]%
M_2E7O&@$ TB$CD$QH?B:"A-!@#KC@740V\W -<D@S E48\2?+0_#CPC']NN!
M(R>A2&'"$3N+":X"%L$<BM52N4A#(!2*VAU^!W'.H$T T=)L5@&  FDI PP@
M?!'6<;S 9P$-_:QK6 +,;@JJ:)''8 "@E( <VYVV_@141R2,Y527B%7\06@#
M.PI#*'YT?H.7U27@Z=*9-6]_1.QU]@Y[XY6)>G-PW&H>G>H"785^0>J082C@
MU4[AB%#%+5A@\H4?<YQ4P@&A?BQTA.9HE@!M(G7B.Q,ZB*7.H1X2JI*Q0TVF
M9, 9?-;D+8"$<4"=0\+P*8AH^L!)'[CJ+H^Y+M)GF]::W;?\G7O%1II=YCZ]
MLVT*E,&IPRWV1)#:EN#LX(5>O:S+<+W+$+K$V)_#'2Q0%FS6?%MANM,6;*56
M^W"/P$WW!]RP]3W"<;C@&O8+,+LV1WX=A%5,WP'-]>Y5,(_Z'&!4].0RL\P5
M-  4-Q':$B=8\=2V@YN!!>4NT[;B,;6X+%+S E'5@M*Q4 #]@B]:QH+9@Q6=
M^UHP097  (03$#:1I-A2KC&IVP6MK0*P-"LU!X<,T#I6RD"PBB"/*68'",LZ
ML1 '4,-)C66%!+]\CH9 X%"?LV]$V'N%:7]_,%T0]BJD=^:Z-63OSI([ QP6
MQ40PQ"W5,J68&*@&S*-D13!3Q4I@ =0%]44LS SEPJ9N<9E9#%IXN16R8KHD
M>6W^>2H"RG*5 ;RUE3=!(!6S#ECQ^\!34"TQH!Q*>(;+!TU V#LDPS(3F27^
M35C>BM=7SMS!_J"\9.[AA,:YI3?$  ]#T*5B K.G-^C+N6S9@:[=ZV;):5$-
M%8%JM1.VOLS-=@]V22AT;LU1M8=?WW01O]P/V(7*W4B /Q:4V,'?!IAL?X!9
MTJ^;\A(Z&PY[\*"@T)&%R0:@OH!]42[((,@5(F4I-V]H-9':P'<\"(:V=  -
M%>ZY9B*JY\H#*=!BFC.;&RS\"MZ>D5@\\K@XH7AF7_W3,7G_/P;]<XYW/>?Z
M^O./;>?L$28KD5U=$!#RX3*H%ER$3/8"\;&F:.>N45"U1BH]S_?V S29),(8
MSK_ ]KX$18'E3(!_MI&W@&0@5XWD#?^CMB[7"_\M%^"^71MY&MB3BW>O]51^
MKUAZ#S=^_1CT(>A5 3#''3GN\@/! 9>%!)AOP*:</F).=WK19G6K=.U!;GG$
M]2*T%WLE=T:R@5$I@XJ:SPEUZ\HH]#%4 7B#C*TZ8:%!5>@\26##]SNWP129
M9^-AX-]/-.S?GJT/DB!40&Q5P :W7 SHLH?S!0RK+D&+="+C"<<LG=*'XF\,
MJJ!OGF2QG'$HG4;2<39= 3F \IMHCO7\_*6_-AN[T2L,?( I5S48[)AFFO?*
M'Z>07;*8SGHBM4-F*YT"A!]$6O.E,3+IX>V+":8HT"U%)[8_5UQ<S#CN>(W#
M#M[-, !.P\J.BVL;GKVV43=LO>P(J*&]M;3A-;>6?:G5UJ%WU#K\YLT>MKR3
MQO:JR\W6[4"XP8#AUAE-WU?:E6?KM-?*GDBS7*5N=!&CST?<#?;W7[GVOLT%
MK(;5C%P$_\KC^H7.R$G57G'ZP2)[<] !:K%/<G_5'^'CJG^W$N6. &U@L)6=
M1F8'TX*(C,QZ8$OL:2DIQ^./CO#RS;$5ZFK^+Y*=G8"E^R9;6?L[^FI;[ D#
M Q?LX/T@$CPDE_,4=..V):\PDK>W[NP0@E@+QVJT17E_<>!8&+Q[=K-POFKJ
M-D^^\#3]V87&3+H;G3WWYX4)7[OBN%@S=E@;BRK4AX63F_4J7[D563S='4U[
M6_3\OU!+ P04    " #.@*E6YL"I<6L%  #+&@  $P   &9O<FUQ,3(S97AH
M,S(P,2YH=&WM&=MRVCCT?;]");.]S. ;)A ,S8P+9L),"BDXV_9I1]@RUE18
MKBQ"Z-?OD0QI"*5E=]HTZ98'#_*YZ-S/D=5YTAMUP_<7 4KEG*&+RU?G@RZJ
M&);UUNU:5B_LH;/P]3FJF[:#0H&S@DK*,\PL*QA64"65,O<L:[E<FDO7Y&)F
MA6-+L:I;C/."F+&,*Z<=]0:>!,>G?W2>& ;J\6@Q)YE$D2!8DA@M"IK-T-N8
M%!^08:RQNCQ?"3I+):K9-1>]Y>(#O<(E7%+)R.F&3\<JUQU+;]*9\GAUVHGI
M%:+QRPIU&TEDV\1-HMBI'R=VJW%"FI'K$O>D-:T[]M\."&D!>DE3R!4C+RMS
MFADI4?M[]9K9/,YE>TECF7J.;?]9T:BGG81G$O830%_^+=GL,)/D6AJ8T5GF
M:94J)>D&'''&A7=DZU];08P$SRE;><]".B<%&I(E&O,YSIY5"W"#41!!DQ*Q
MH)\(R 3BZ>6R%+D)?!C-R$8%IZ:$#JY3.J42N37PZ+;(WQ;V"WI^1Z((_$C$
M3[)+-QB'@_Z@ZX>#T1"-^@]?X+-!T$?!NZ![&0[^"D!DD#X8(W_80R6L/QCZ
MP^[ /]_ 'KQ.%Y?CR:4_#%$X0LX)NC0G9M=$DZ"KG/+TR&G8;<<]MJL/7A%_
M@OS>Z"(,>NBV3EN:M.P&. :%9P&:^.-7_C"8&*-WY\%[Y'=#!:G9=FU'TZ_E
MU(_6M?Y%70<9BGB6D4@U!K2D,D4R)>C- @MP %NA,<FYD B ?2[F:S?:QAO$
M$_VFCR/)1;4$#++(K"*,>H3A)18$> L@QXIY%25<:.8YB,IC1+(86H>?"\K6
M;*NZ4P"# B64 ?!&G@F)%@*:%RB.LQ@%UU&*LQF!'C.?TZ+0[ F.4B65PE\
M;U% ) $3GB0T@M5>B1% )4T4\WPAB@4&-TA^.X9+\]R*824BCGFNFM]MFBU,
M%2-K>2983'%&"F-TS<@*^9%4$!4C58!C657$*2V0($6N>%P1]"'C2S#"C#P]
M.CYI/Y!X*37;F\(YCF,8!0Q&$NFY#6"IDYJ".S+I&<Y)_N-;YY<%=\R-T/>_
M>WO++(YM'BLSA! 7'V_R3)1YEBP8+"(^SYF*QYL$$.3C@@JBIB4=R'="\CE^
M4?Z%%'..G\>;57(W>VXR9QV"3LNME]$\U_D(L=9JJQP[W,4'30H/-S!J#S(P
M: ;5<JX+IRK0$E-5RFBF_;D;-9BJ50[50P5(52%BQA P +$PVY25HJKI$YKA
M+%+O@76LSP2ZK +6@I7QQ:%(Z]V_4C:WZWFQV1[DA+>"T,S\5ZU>XBDC&X0I
M%U#!#7 #PWE!O,V?=DR+G.&51S-M3$W4GF,Q@W%_RJ7D<T^-^E>JI$>8K3?1
M^Y7@]2G@! Y%C;HZ"$@(6QEO-EZ?$4Q]1K!DO MKFG;3W0NU36<O[&M<:PVS
M66M\=[:-FMFR]Y/>9FMI0Y3& ',7.<Y>5MS*G0SV:ODU<C;Y6UI71>]=BY?&
MOO^<UH>['L3]=M=<*__(]7J-5ZA53DF_F&9/C^K-=J&?Z/6@>^8'YZ@'D]=Y
M,)F,QEO*'ABGMM*Y<I"!#D!=UR/)<P]P4<$9C='&+/_5T+>_5FQ5,.=G=,,R
MPBC,!X2![<M"/V&D*+C86\CO46[-T:,2C!@=H$DWI22!>0=F'SU.C\ICP"/4
MY/F%H-"N<^C7.^KHOMV#R5 UYQ=WOF+]KNJ/0J__1U6?G/D#]3CS?Y?S>W/
M),44P2/%C['PE26\?W-:^25*^(XZNH1_AOM1Q!>95!<J:X2]9=W2IY\#OR]N
MC'#G3B3GY:60)PC#JK/LW))\SAEM5OLS"9Y"XBSD+LDW+E;6S_*:1U\XG?X#
M4$L! A0#%     @ SH"I5A=E&6-!RP$ (N88 !$              ( !
M &9O<FTM,C R,S T,#$N:'1M4$L! A0#%     @ SH"I5KOGVFF]#0  L)X
M !$              ( !<,L! &9O<FTM,C R,S T,#$N>'-D4$L! A0#%
M  @ SH"I5GBF8BN'(   T#P! !4              ( !7-D! &9O<FTM,C R
M,S T,#%?8V%L+GAM;%!+ 0(4 Q0    ( ,Z J5:A0%Z3B4@  '(R P 5
M          "  1;Z 0!F;W)M+3(P,C,P-# Q7V1E9BYX;6Q02P$"% ,4
M" #.@*E6+)^\](+4  !AN @ %0              @ '20@( 9F]R;2TR,#(S
M,#0P,5]L86(N>&UL4$L! A0#%     @ SH"I5F7'ZO'.@   ?+P% !4
M         ( !AQ<# &9O<FTM,C R,S T,#%?<')E+GAM;%!+ 0(4 Q0    (
M ,Z J591+O/]>0@  (4K   3              "  8B8 P!F;W)M<3$R,V5X
M:#,Q,#$N:'1M4$L! A0#%     @ SH"I5B?.H"YL"   B"H  !,
M     ( !,J$# &9O<FUQ,3(S97AH,S$P,BYH=&U02P$"% ,4    " #.@*E6
MYL"I<6L%  #+&@  $P              @ '/J0, 9F]R;7$Q,C-E>&@S,C Q
:+FAT;5!+!08     "0 ) $T"  !KKP,    !

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